| 1 | #pragma once |
|---|---|
| 2 | |
| 3 | #include "Library/Nerve/NerveExecutor.h" |
| 4 | |
| 5 | namespace nn::ui2d { |
| 6 | class TextureInfo; |
| 7 | } |
| 8 | |
| 9 | namespace al { |
| 10 | class LayoutActor; |
| 11 | class LayoutInitInfo; |
| 12 | class SimpleLayoutAppearWaitEnd; |
| 13 | } // namespace al |
| 14 | |
| 15 | class WindowConfirmData : public al::NerveExecutor { |
| 16 | public: |
| 17 | enum PaneType : s32 { PaneType_Confirm = 0, PaneType_Cancel = 1 }; |
| 18 | |
| 19 | WindowConfirmData(const al::LayoutInitInfo& info, const char* layoutName, const char* name, |
| 20 | bool createDataParts); |
| 21 | |
| 22 | void setConfirmMessage(const char16* message, const char16* confirmMessage, |
| 23 | const char16* cancelMessage); |
| 24 | void setConfirmData(al::LayoutActor* actor, nn::ui2d::TextureInfo* textureInfo); |
| 25 | void updateConfirmDataDate(); |
| 26 | void appear(); |
| 27 | void appearWithChoicingCancel(); |
| 28 | void end(); |
| 29 | void kill(); |
| 30 | bool isEndSelect(); |
| 31 | bool isDecided(); |
| 32 | bool isCanceled(); |
| 33 | bool isDisable(); |
| 34 | void exeAppear(); |
| 35 | void changeSelectingIdx(s32 index); |
| 36 | void exeWait(); |
| 37 | void updateCursorPos(); |
| 38 | void exeSelect(); |
| 39 | void exeVanish(); |
| 40 | void exeDisable(); |
| 41 | |
| 42 | private: |
| 43 | al::SimpleLayoutAppearWaitEnd* mWindowConfirmLayout = nullptr; |
| 44 | al::LayoutActor* mParCursor = nullptr; |
| 45 | al::LayoutActor* mParOptions[2] = {nullptr, nullptr}; |
| 46 | al::LayoutActor* mParData = nullptr; |
| 47 | PaneType mSelectionIndex = PaneType::PaneType_Confirm; |
| 48 | s32 mSelectionCooldown = 0; |
| 49 | }; |
| 50 |