Henrique Gemignani Passos Lima 4dc0379b6c Add CBSCover
Former-commit-id: a63276e51dc07e4274c8633a1f7a9583b0d6ebac
2022-11-11 15:57:31 +02:00

28 lines
831 B
C++

#ifndef _CBSCOVER
#define _CBSCOVER
#include "MetroidPrime/BodyState/CBodyState.hpp"
class CBSCover : public CBodyState {
public:
CBSCover();
bool IsMoving() const override { return true; }
bool ApplyHeadTracking() const override { return false; }
bool CanShoot() const override;
void Start(CBodyController& bc, CStateManager& mgr) override;
pas::EAnimationState UpdateBody(float dt, CBodyController& bc, CStateManager& mgr) override;
void Shutdown(CBodyController&) override;
pas::ECoverDirection GetCoverDirection() const { return x8_coverDirection; }
bool GetNeedsExit() const { return xc_needsExit; }
private:
pas::ECoverState x4_state;
pas::ECoverDirection x8_coverDirection;
bool xc_needsExit;
pas::EAnimationState GetBodyStateTransition(float dt, CBodyController& bc);
};
#endif // _CBSCOVER