| 1 | #pragma once |
|---|---|
| 2 | |
| 3 | #include "Library/LiveActor/LiveActor.h" |
| 4 | |
| 5 | class HackerJudgeNormalFall; |
| 6 | class HackerJudgeStartRun; |
| 7 | class CapTargetInfo; |
| 8 | class AnagramAlphabet; |
| 9 | class IUsePlayerHack; |
| 10 | class CapTargetParts; |
| 11 | class PlayerHackStartShaderCtrl; |
| 12 | |
| 13 | class AnagramAlphabetCharacter : public al::LiveActor { |
| 14 | public: |
| 15 | AnagramAlphabetCharacter(const char* name); |
| 16 | |
| 17 | void init(const al::ActorInitInfo& info); |
| 18 | void attackSensor(al::HitSensor* self, al::HitSensor* other); |
| 19 | bool receiveMsg(const al::SensorMsg* message, al::HitSensor* other, al::HitSensor* self); |
| 20 | void setComplete(); |
| 21 | void killCapTarget(); |
| 22 | |
| 23 | void exeWait(); |
| 24 | void exeWaitHack(); |
| 25 | void exeWaitHackStart(); |
| 26 | void exeHackStart(); |
| 27 | void exeHackWait(); |
| 28 | void exeHackMove(); |
| 29 | void exeHackFall(); |
| 30 | void exeHackEnd(); |
| 31 | void exeHackGoal(); |
| 32 | void exeSet(); |
| 33 | void exeComplete(); |
| 34 | |
| 35 | inline bool isHack(); |
| 36 | inline void endHack(); |
| 37 | inline void endHackDir(const sead::Vector3f& dir); |
| 38 | |
| 39 | private: |
| 40 | CapTargetInfo* mCapTargetInfo = nullptr; |
| 41 | sead::Matrix34f* mPoseMatrix = nullptr; |
| 42 | AnagramAlphabet* mParent = nullptr; |
| 43 | IUsePlayerHack* mHackerParent = nullptr; |
| 44 | CapTargetParts* mCapTargetParts = nullptr; |
| 45 | HackerJudgeNormalFall* mHackerJudgeNormalFall = nullptr; |
| 46 | HackerJudgeStartRun* mHackerJudgeStartRun = nullptr; |
| 47 | PlayerHackStartShaderCtrl* mPlayerHackStartShaderCtrl = nullptr; |
| 48 | s32 mSwingTimer = 0; |
| 49 | }; |
| 50 |