1#pragma once
2
3#include "Library/Nerve/NerveStateBase.h"
4
5namespace al {
6class GamePadSystem;
7class LayoutInitInfo;
8class Scene;
9class SimpleLayoutAppearWaitEnd;
10class WipeSimple;
11} // namespace al
12class FooterParts;
13class StageSceneStatePauseMenu;
14
15class StageSceneStateStartSeparatePlay : public al::HostStateBase<StageSceneStatePauseMenu> {
16public:
17 StageSceneStateStartSeparatePlay(const char* name, StageSceneStatePauseMenu* host,
18 const al::LayoutInitInfo& info, al::WipeSimple* wipeSimple,
19 al::GamePadSystem* gamePadSystem, FooterParts* footerParts);
20
21 virtual void appear();
22
23 void startTreeHouse();
24 bool isNeedRequestGraphicsPreset() const;
25 bool isDrawViewRenderer() const;
26 void exeAppear();
27 void exeWait();
28 al::Scene* getScene();
29 void exeBack();
30 void exeFadeOut();
31 void exeApplet();
32 void exeFadeIn();
33 void exeWaitDraw();
34
35 bool isCancel() const { return mIsCancel; }
36
37private:
38 al::GamePadSystem* mGamePadSystem = nullptr;
39 al::SimpleLayoutAppearWaitEnd* mControllerGuideMulti = nullptr;
40 al::WipeSimple* mWipeSimple = nullptr;
41 FooterParts* mFooterParts = nullptr;
42 u16 field_40 = 0;
43 bool mIsCancel = false;
44};
45