1#pragma once
2
3#include <basis/seadTypes.h>
4
5namespace al {
6struct ActorInitInfo;
7class LiveActor;
8} // namespace al
9class RiseMapParts;
10class RiseMapPartsHolder;
11class SaveObjInfo;
12
13class AppearSwitchSave {
14public:
15 AppearSwitchSave(al::LiveActor* actor, const al::ActorInitInfo& info);
16 void onSwitch();
17 void onSwitchDemo();
18 bool isOn() const;
19
20private:
21 al::LiveActor* mSwitchActor = nullptr;
22 RiseMapPartsHolder* mRiseMapPartsHolder = nullptr;
23 al::LiveActor** mAppearTargetArray = nullptr;
24 s32 mAppearTargetNum = 0;
25 RiseMapParts** mRiseMapPartsArray = nullptr;
26 s32 mRiseMapPartsNum = 0;
27 al::LiveActor** mKillTargetArray = nullptr;
28 s32 mKillTargetNum = 0;
29 SaveObjInfo* mSaveObjInfo = nullptr;
30 bool mIsOn = false;
31};
32
33static_assert(sizeof(AppearSwitchSave) == 0x50);
34