1#pragma once
2
3#include "Library/Scene/Scene.h"
4
5namespace al {
6class ChromakeyDrawer;
7class SimpleLayoutAppearWaitEnd;
8class WindowConfirm;
9class WipeSimple;
10} // namespace al
11class StageSceneStatePauseMenu;
12class BootLayout;
13
14class TitleMenuScene : public al::Scene {
15public:
16 TitleMenuScene();
17 ~TitleMenuScene() override;
18
19 void init(const al::SceneInitInfo& info) override;
20 void appear() override;
21 void control() override;
22 void drawMain() const override;
23 bool isEnableKill() const;
24 bool isChangeLanguage() const;
25 const char* getLanguage() const;
26 bool isNewGame() const;
27 void startLoadDirect(bool);
28 void setScenario();
29 void setLoadPercent(f32 percent);
30 bool isCancelLoadWorldResource() const;
31 void startLoadWorldResource();
32 void exeAppear();
33 void exeMenu();
34 void exeWipe();
35 void exeLoadAppear();
36 void exeLoadWait();
37
38private:
39 StageSceneStatePauseMenu* mStatePauseMenu = nullptr;
40 al::ChromakeyDrawer* mChromakeyDrawer = nullptr;
41 al::SimpleLayoutAppearWaitEnd* mLayoutMenu = nullptr;
42 al::SimpleLayoutAppearWaitEnd* mLayoutContinueLoading = nullptr;
43 al::SimpleLayoutAppearWaitEnd* mLayoutParBG = nullptr;
44 al::WindowConfirm* mWindowConfirm = nullptr;
45 al::WipeSimple* mFadeBlack = nullptr;
46 BootLayout* mBootLayout = nullptr;
47 f32 mLoadPercent = 0.0f;
48 f32 mLoadPercentBuffered = 0.0f; // unused
49 bool mIsCancelLoadResource = false;
50 s32 mLoadCompleteCounter = 0;
51};
52