| 1 | #pragma once |
| 2 | |
| 3 | #include <basis/seadTypes.h> |
| 4 | |
| 5 | namespace al { |
| 6 | class LiveActor; |
| 7 | } |
| 8 | class GameDataHolderAccessor; |
| 9 | class GameDataHolder; |
| 10 | |
| 11 | class GameSequenceInfo { |
| 12 | public: |
| 13 | enum ShopStatus : s32 { |
| 14 | ShopStatus_None = 0, |
| 15 | ShopStatus_BuyShine = 1, |
| 16 | ShopStatus_BuyShineMany = 2, |
| 17 | ShopStatus_BuyMaxLifeUpItem = 3 |
| 18 | }; |
| 19 | |
| 20 | enum SceneStatus : s32 { |
| 21 | SceneStatus_None = 0, |
| 22 | SceneStatus_BossBattle = 1, |
| 23 | }; |
| 24 | |
| 25 | GameSequenceInfo(); |
| 26 | |
| 27 | void init(); |
| 28 | void resetSceneStatus(); |
| 29 | void setSceneStatusBossBattle(); |
| 30 | void setSceneStatusBossBattleEnd(); |
| 31 | void setSceneStatusBossBattleEndForPlayerAnim(); |
| 32 | void setSceneStatusInvalidSave(); |
| 33 | bool isSceneStatusBossBattle() const; |
| 34 | bool isSceneStatusBossBattleForPlayerAnim() const; |
| 35 | bool isSceneStatusInvalidSave() const; |
| 36 | bool isShopStatus(s32 shopStatus) const; |
| 37 | void setShopStatus(s32 shopStatus); |
| 38 | |
| 39 | bool isWipeOpenEnd() const { return mIsWipeOpenEnd; } |
| 40 | |
| 41 | void setWipeOpenEnd(bool isEnd) { mIsWipeOpenEnd = isEnd; } |
| 42 | |
| 43 | private: |
| 44 | SceneStatus mSceneStatus; |
| 45 | bool mIsStatusBossBattle; |
| 46 | bool mIsStatusInvalidSave; |
| 47 | bool mIsWipeOpenEnd; |
| 48 | ShopStatus mShopStatus; |
| 49 | }; |
| 50 | |
| 51 | namespace rs { |
| 52 | void setSceneStatusBossBattle(const al::LiveActor* actor); |
| 53 | void setSceneStatusBossBattleEnd(const al::LiveActor* actor); |
| 54 | void setSceneStatusBossBattleEndForPlayerAnim(const al::LiveActor* actor); |
| 55 | bool isSceneStatusBossBattle(GameDataHolderAccessor accessor); |
| 56 | bool isSceneStatusBossBattleForPlayerAnim(const al::LiveActor* actor); |
| 57 | bool isSceneStatusInvalidSave(GameDataHolderAccessor accessor); |
| 58 | void setSceneStatusInvalidSave(GameDataHolderAccessor accessor); |
| 59 | bool isInvalidSaveStage(const char* stageName); |
| 60 | bool isWipeOpenEnd(const al::LiveActor* actor); |
| 61 | void endWipeOpen(const GameDataHolder* holder); |
| 62 | void startWipeOpen(const GameDataHolder* holder); |
| 63 | bool isShopStatusBuyItem(const al::LiveActor* actor); |
| 64 | bool isShopStatusBuyShine(const al::LiveActor* actor); |
| 65 | bool isShopStatusBuyShineMany(const al::LiveActor* actor); |
| 66 | bool isShopStatusBuyMaxLifeUpItem(const al::LiveActor* actor); |
| 67 | void setShopStatusBuyShine(const al::LiveActor* actor); |
| 68 | void setShopStatusBuyShineMany(const al::LiveActor* actor); |
| 69 | void setShopStatusBuyMaxLifeUpItem(const al::LiveActor* actor); |
| 70 | void setShopStatusNone(const al::LiveActor* actor); |
| 71 | } // namespace rs |
| 72 | |