mirror of
https://github.com/MonsterDruide1/OdysseyDecomp
synced 2026-04-30 04:24:17 +00:00
49 lines
1.1 KiB
C++
49 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include "Library/LiveActor/LiveActor.h"
|
|
|
|
namespace al {
|
|
class RippleCtrl;
|
|
|
|
class ClockMapParts : public LiveActor {
|
|
public:
|
|
ClockMapParts(const char* name);
|
|
|
|
void init(const ActorInitInfo& info) override;
|
|
void start();
|
|
void standBy();
|
|
bool receiveMsg(const SensorMsg* message, HitSensor* other, HitSensor* self) override;
|
|
void appearAndSetStart();
|
|
void setRestartNerve();
|
|
void control() override;
|
|
void setRotateStartNerve();
|
|
|
|
void exeStandBy();
|
|
void exeDelay();
|
|
void exeRotateSign();
|
|
void exeRotate();
|
|
void exeWait();
|
|
void exeAssistStop();
|
|
void exeAssistStopSync();
|
|
void exeAssistStopEndWait();
|
|
|
|
private:
|
|
sead::Quatf mQuat = sead::Quatf::unit;
|
|
s32 mRotateAxis = 0;
|
|
s32 mClockAngleDegree = 0;
|
|
s32 mCurrentStep = 0;
|
|
s32 mTurnStepCount = 1;
|
|
s32 mDelayTime = 0;
|
|
s32 mRotateTime = 30;
|
|
s32 mWaitTime = 30;
|
|
s32 mRotateSignTime = 0;
|
|
s32 mRotateTimer = 30;
|
|
s32 mActiveTimer;
|
|
s32 mTimer = 0;
|
|
s32 mAssistStopTimer;
|
|
RippleCtrl* mRippleCtrl = nullptr;
|
|
};
|
|
|
|
static_assert(sizeof(ClockMapParts) == 0x150);
|
|
} // namespace al
|