2022-11-11 16:16:51 +00:00
|
|
|
#ifndef _CBSLOOPATTACK
|
|
|
|
#define _CBSLOOPATTACK
|
|
|
|
|
|
|
|
#include "MetroidPrime/BodyState/CBodyState.hpp"
|
|
|
|
|
|
|
|
class CBSLoopAttack : public CBodyState {
|
|
|
|
public:
|
|
|
|
CBSLoopAttack();
|
|
|
|
|
2023-02-06 17:01:01 +00:00
|
|
|
bool CanShoot() const override { return true; }
|
|
|
|
void Start(CBodyController& bc, CStateManager& mgr) override;
|
|
|
|
pas::EAnimationState UpdateBody(float dt, CBodyController& bc, CStateManager& mgr) override;
|
|
|
|
void Shutdown(CBodyController&) override;
|
2022-11-11 16:16:51 +00:00
|
|
|
|
|
|
|
pas::ELoopState GetState() const { return x4_state; }
|
|
|
|
pas::ELoopAttackType GetAttackType() const { return x8_loopAttackType; }
|
|
|
|
bool GetAdvance() const { return xc_25_advance; }
|
|
|
|
|
|
|
|
private:
|
|
|
|
pas::ELoopState x4_state;
|
|
|
|
pas::ELoopAttackType x8_loopAttackType;
|
|
|
|
bool xc_24_waitForAnimOver : 1;
|
|
|
|
bool xc_25_advance : 1;
|
|
|
|
|
|
|
|
pas::EAnimationState GetBodyStateTransition(float dt, CBodyController& bc);
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // _CBSLOOPATTACK
|