1#pragma once
2
3#include "Library/LiveActor/LiveActor.h"
4
5namespace al {
6class WobbleMapParts : public LiveActor {
7public:
8 WobbleMapParts(const char* name);
9
10 void init(const ActorInitInfo& info) override;
11 bool receiveMsg(const SensorMsg* message, HitSensor* other, HitSensor* self) override;
12
13 void appearAndSetStart();
14 void exeWait();
15 void updateMove();
16 void exeMove();
17 void exeAssistStop();
18
19private:
20 sead::Quatf mInitialQuat = sead::Quatf::unit;
21 sead::Vector3f mInitialUp = sead::Vector3f::ey;
22 sead::Quatf mCurrentQuat = sead::Quatf::unit;
23 sead::Vector3f mMoment = sead::Vector3f::zero;
24 sead::Vector3f mTargetUp = sead::Vector3f::ey;
25 sead::Vector3f mUnused = sead::Vector3f::ey;
26 f32 mMaxRotate = 10.0f;
27 f32 mTiltSpeed = 0.0f;
28 s32 mAssistStopTimer = 0;
29 bool mIsStop = false;
30};
31
32static_assert(sizeof(WobbleMapParts) == 0x168);
33} // namespace al
34