Files
pico-launcher/arm9/source/romBrowser/viewModels/CheatsViewModel.h
2026-02-22 20:28:35 +01:00

36 lines
832 B
C++

#pragma once
#include <memory>
#include "core/task/TaskQueue.h"
#include "cheats/GameCheats.h"
#include "romBrowser/FileInfo.h"
#include "romBrowser/IRomBrowserController.h"
/// @brief View model for the cheats screen.
class CheatsViewModel
{
public:
enum class State
{
Loading,
NoCheats,
DisplayCheats
};
CheatsViewModel(const FileInfo& romFileInfo, IRomBrowserController* romBrowserController);
void Close()
{
_romBrowserController->HideGameInfo();
}
State GetState() const { return _state; }
const GameCheats* GetCheats() const { return _cheats.get(); }
private:
FileInfo _romFileInfo;
IRomBrowserController* _romBrowserController;
QueueTask<void> _loadCheatsTask;
std::unique_ptr<GameCheats> _cheats;
State _state = State::Loading;
};