mirror of https://github.com/AxioDL/metaforce.git
50 lines
1.1 KiB
C++
50 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include <memory>
|
|
|
|
namespace metaforce {
|
|
|
|
class CFrontEndUITouchBar {
|
|
public:
|
|
enum class EPhase { None, PressStart, ProceedBack, StartOptions, EraseBack, FileSelect, NoCardSelect, FusionBonus };
|
|
enum class EAction {
|
|
None,
|
|
Start,
|
|
Normal,
|
|
Hard,
|
|
Back,
|
|
Confirm,
|
|
Options,
|
|
FileA,
|
|
FileB,
|
|
FileC,
|
|
Erase,
|
|
FusionBonus,
|
|
ImageGallery,
|
|
NESMetroid,
|
|
FusionSuit
|
|
};
|
|
enum class EFileState { New, Normal, Hard };
|
|
struct SFileSelectDetail {
|
|
EFileState state;
|
|
int percent;
|
|
};
|
|
|
|
protected:
|
|
EPhase m_phase = EPhase::None;
|
|
|
|
public:
|
|
virtual ~CFrontEndUITouchBar();
|
|
virtual void SetPhase(EPhase ph);
|
|
virtual EPhase GetPhase();
|
|
virtual void SetFileSelectPhase(const SFileSelectDetail details[3], bool eraseGame, bool galleryActive);
|
|
virtual void SetNoCardSelectPhase(bool galleryActive);
|
|
virtual void SetFusionBonusPhase(bool fusionSuitActive);
|
|
virtual void SetStartOptionsPhase(bool normalBeat);
|
|
virtual EAction PopAction();
|
|
};
|
|
|
|
std::unique_ptr<CFrontEndUITouchBar> NewFrontEndUITouchBar();
|
|
|
|
} // namespace metaforce
|