1#pragma once
2
3#include "Library/Nerve/NerveStateBase.h"
4
5namespace al {
6class LiveActor;
7}
8class PlayerConst;
9class IUsePlayerCollision;
10class PlayerInput;
11class PlayerActionDiveInWater;
12class PlayerAnimator;
13
14class PlayerStateHeadSliding : public al::ActorStateBase {
15public:
16 PlayerStateHeadSliding(al::LiveActor* player, const PlayerConst* pConst,
17 const IUsePlayerCollision* collision, const PlayerInput* input,
18 const PlayerActionDiveInWater* actionDiveInWater,
19 PlayerAnimator* animator);
20
21 void appear() override;
22 void kill() override;
23
24 bool isEnableDiveInWater() const;
25
26 void exeDive();
27
28private:
29 const PlayerConst* mConst;
30 const IUsePlayerCollision* mCollider;
31 const PlayerInput* mInput;
32 const PlayerActionDiveInWater* mActionDiveInWater;
33 PlayerAnimator* mAnimator;
34 bool mIsEnableDiveInWater = false;
35};
36