1#pragma once
2
3#include "Library/Nerve/NerveStateBase.h"
4
5namespace al {
6class PlayerHolder;
7class LayoutActor;
8class LayoutInitInfo;
9class SubCameraRenderer;
10} // namespace al
11
12class CoinCounter;
13class CounterLifeCtrl;
14class ShineCounter;
15class ShineChipLayoutParts;
16class PlayGuideCamera;
17class PlayGuideBgm;
18class MapMini;
19
20class StageSceneLayout : public al::NerveStateBase {
21public:
22 StageSceneLayout(const char*, const al::LayoutInitInfo&, const al::PlayerHolder*,
23 const al::SubCameraRenderer*);
24 ~StageSceneLayout();
25
26 void startActionAll(const char*);
27 void control() override;
28 void updatePlayGuideMenuText();
29 void setDirtyFlagForPlayGuideMenu();
30 void start();
31 void updateCounterParts();
32 void tryAppearCoinCollectCounter();
33 void startOnlyCoin(bool);
34 void endWithoutCoin(bool);
35 void end();
36 bool isEnd() const;
37 bool isWait() const;
38 bool isActive() const;
39 bool isEndLifeDemo() const;
40 void tryStartLifeDemo();
41 void startCoinCountAnim(s32);
42 void startCoinCollectCountAnim(s32);
43 void appearCoinCounterForDemo();
44 bool isEndCoinCountAnim() const;
45 bool isEndShineChipCompleteAnim() const;
46 void startShineChipCompleteAnim();
47 void endShineChipCompleteAnim();
48 void tryStartDemoGetLifeMaxUpItem(bool);
49 bool isEndDemoGetLifeMaxUpItem() const;
50 void killShineCount();
51 void appearShineCountWait();
52 void startCloset();
53 void endCloset();
54 void missEnd();
55 void appearPlayGuideCamera();
56 void exeAppear();
57 bool isActionEndAll();
58 void exeWait();
59 void exeEnd();
60 void exeEndWithoutCoin();
61 void exeCoinCountAnim();
62 void exeShineChipComplete();
63 void exeShineCountAppear();
64 void updateLifeCounter();
65 void updateKidsModeLayout();
66 void startShineCountAnim(bool isAddTenShines);
67 bool isEndShineCountAnim() const;
68
69private:
70 CoinCounter* mCoinCounter;
71 CounterLifeCtrl* mCounterLifeCtrl;
72 ShineCounter* mShineCounter;
73 CoinCounter* mCoinCollectCounter;
74 ShineChipLayoutParts* mShineChipLayoutParts;
75 PlayGuideCamera* mPlayGuideCamera;
76 PlayGuideBgm* mPlayGuideBgm;
77 MapMini* mMapMini;
78 const al::PlayerHolder* mPlayerHolder;
79 char padding2[24];
80 al::LayoutActor* mLayoutActorKidsMode;
81};
82