prime/include/MetroidPrime/BodyState/CBSLoopAttack.hpp
Henrique Gemignani Passos Lima 79503f7b2e Add almost matched CBSLoopAttack
Former-commit-id: 64ec8794417ca4c5e7f72635c9d6014853d2d28f
2022-11-11 18:16:51 +02:00

29 lines
852 B
C++

#ifndef _CBSLOOPATTACK
#define _CBSLOOPATTACK
#include "MetroidPrime/BodyState/CBodyState.hpp"
class CBSLoopAttack : public CBodyState {
public:
CBSLoopAttack();
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;
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