1#pragma once
2
3#include <math/seadVector.h>
4
5#include "Library/Nerve/NerveStateBase.h"
6
7class PlayerConst;
8class PlayerInput;
9class IUsePlayerCollision;
10class PlayerTrigger;
11class PlayerAnimator;
12class PlayerActionDiveInWater;
13class PlayerActionAirMoveControl;
14
15class PlayerStateNormalWallJump : public al::ActorStateBase {
16public:
17 PlayerStateNormalWallJump(al::LiveActor*, const PlayerConst*, const PlayerInput*,
18 const IUsePlayerCollision*, const PlayerTrigger*, PlayerAnimator*,
19 PlayerActionDiveInWater*);
20
21 void appear() override;
22 void exeJump();
23
24 const sead::Vector3f& getFront() const { return mFront; }
25
26private:
27 const PlayerConst* mConst;
28 const PlayerInput* mInput;
29 const IUsePlayerCollision* mCollider;
30 const PlayerTrigger* mTrigger;
31 PlayerAnimator* mAnimator;
32 PlayerActionDiveInWater* mActionDiveInWater;
33 PlayerActionAirMoveControl* mAirMoveControl = nullptr;
34 const char* mAnimationName = "WallJump";
35 sead::Vector3f mFront;
36 bool _6c = false;
37};
38