2022-11-11 14:51:34 +00:00
|
|
|
#ifndef _CBSATTACK
|
|
|
|
#define _CBSATTACK
|
|
|
|
|
|
|
|
#include "MetroidPrime/BodyState/CBodyState.hpp"
|
|
|
|
|
|
|
|
#include "MetroidPrime/BodyState/CBodyStateCmdMgr.hpp"
|
|
|
|
|
|
|
|
#include "Kyoto/Math/CVector3f.hpp"
|
|
|
|
|
|
|
|
class CBSAttack : public CBodyState {
|
|
|
|
public:
|
|
|
|
CBSAttack();
|
|
|
|
|
2023-02-06 07:21:28 +00:00
|
|
|
bool CanShoot() const { return false; }
|
|
|
|
void Start(CBodyController& bc, CStateManager& mgr);
|
|
|
|
pas::EAnimationState UpdateBody(float dt, CBodyController& bc, CStateManager& mgr);
|
|
|
|
void Shutdown(CBodyController&);
|
2022-11-11 14:51:34 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
pas::EAnimationState x4_nextState; // = pas::kAS_Invalid;
|
|
|
|
CBCSlideCmd x8_slide;
|
|
|
|
CVector3f x20_targetPos;
|
|
|
|
float x2c_alignTargetPosStartTime; // = -1.f;
|
|
|
|
float x30_alignTargetPosTime; // = -1.f;
|
|
|
|
float x34_curTime; // = 0.f;
|
|
|
|
|
|
|
|
pas::EAnimationState GetBodyStateTransition(float dt, CBodyController& bc);
|
|
|
|
void UpdatePhysicsActor(CBodyController& bc, float dt);
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // _CBSATTACK
|