2018-10-07 03:42:33 +00:00
|
|
|
#pragma once
|
2017-02-09 09:23:17 +00:00
|
|
|
|
|
|
|
#include <memory>
|
|
|
|
|
2021-04-10 08:42:06 +00:00
|
|
|
namespace metaforce {
|
2017-02-09 09:23:17 +00:00
|
|
|
|
2018-12-08 05:30:43 +00:00
|
|
|
class CFrontEndUITouchBar {
|
2017-02-09 09:23:17 +00:00
|
|
|
public:
|
2018-12-08 05:30:43 +00:00
|
|
|
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;
|
|
|
|
};
|
2017-02-09 09:23:17 +00:00
|
|
|
|
2017-02-10 09:00:57 +00:00
|
|
|
protected:
|
2018-12-08 05:30:43 +00:00
|
|
|
EPhase m_phase = EPhase::None;
|
2017-02-10 09:00:57 +00:00
|
|
|
|
|
|
|
public:
|
2018-12-08 05:30:43 +00:00
|
|
|
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();
|
2017-02-09 09:23:17 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
std::unique_ptr<CFrontEndUITouchBar> NewFrontEndUITouchBar();
|
|
|
|
|
2021-04-10 08:42:06 +00:00
|
|
|
} // namespace metaforce
|