1#pragma once
2
3#include "Library/LiveActor/LiveActor.h"
4
5namespace al {
6class SimpleAudioUser;
7
8class GateMapParts : public LiveActor {
9public:
10 GateMapParts(const char* name);
11
12 void init(const ActorInitInfo& info) override;
13 void start();
14 void appearAndSetStart();
15 void exeWait();
16 void exeOpen();
17 void updatePose(f32 rate);
18 void exeBound();
19 void exeEnd();
20
21private:
22 sead::Quatf mQuat = sead::Quatf::unit;
23 sead::Vector3f mTrans = sead::Vector3f::zero;
24 sead::Quatf mMoveNextQuat = sead::Quatf::unit;
25 sead::Vector3f mMoveNextTrans = sead::Vector3f::zero;
26 s32 mMaxHitReactions = 10;
27 s32 mOpenTime = 120;
28 f32 mBoundRate = 0.1f;
29 s32 mCurrentBoundSteps = 120;
30 s32 mHitReactionCurrent = 0;
31 f32 mCurrentBoundRate = 0.1f;
32 s32 mHitReactionCount = 0;
33 SimpleAudioUser* mSuccessSeObj = nullptr;
34};
35
36static_assert(sizeof(GateMapParts) == 0x168);
37} // namespace al
38