1#pragma once
2
3#include "Library/Nerve/NerveExecutor.h"
4
5namespace al {
6struct ActorInitInfo;
7
8class SwingMovement : public NerveExecutor {
9public:
10 SwingMovement();
11 SwingMovement(const ActorInitInfo& info);
12
13 bool updateRotate();
14
15 void exeMove();
16 void exeStop();
17
18 bool isLeft() const;
19 bool isStop() const;
20
21 f32 getCurrentAngle() const { return mCurrentAngle; }
22
23private:
24 s32 mFrameInCycle = 0;
25 s32 mDelayRate = 0;
26 f32 mSwingAngle = 45.0f;
27 s32 mSwingCycle = 240;
28 s32 mStopTime = 6;
29 f32 mOffsetRotate = 0.0f;
30 f32 mCurrentAngle = 0.0f;
31};
32
33static_assert(sizeof(SwingMovement) == 0x30);
34} // namespace al
35