1#pragma once
2
3#include "Library/LiveActor/LiveActor.h"
4
5namespace al {
6class WheelMovement;
7class SwitchKeepOnAreaGroup;
8class SwitchOnAreaGroup;
9
10class WheelMapParts : public LiveActor {
11public:
12 WheelMapParts(const char* name);
13
14 void init(const ActorInitInfo& info) override;
15 void control() override;
16 bool receiveMsg(const SensorMsg* message, HitSensor* other, HitSensor* self) override;
17
18 void appearAndSetStart();
19
20 void exeWait();
21 void exeMove();
22 void exeAssistStop();
23
24private:
25 sead::Matrix34f mSurfaceEffectMtx = sead::Matrix34f::ident;
26 WheelMovement* mWheelMovement = nullptr;
27 SwitchKeepOnAreaGroup* mSwitchKeepOnAreaGroup = nullptr;
28 SwitchOnAreaGroup* mSwitchOnAreaGroup = nullptr;
29 s32 mAssistStopTimer = 0;
30};
31
32static_assert(sizeof(WheelMapParts) == 0x158);
33} // namespace al
34