#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(); bool CanShoot() const override { return false; } void Start(CBodyController& bc, CStateManager& mgr) override; pas::EAnimationState UpdateBody(float dt, CBodyController& bc, CStateManager& mgr) override; void Shutdown(CBodyController&) override; 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