2022-11-11 12:55:40 +00:00
|
|
|
#ifndef _CBSCOVER
|
|
|
|
#define _CBSCOVER
|
|
|
|
|
|
|
|
#include "MetroidPrime/BodyState/CBodyState.hpp"
|
|
|
|
|
|
|
|
class CBSCover : public CBodyState {
|
|
|
|
public:
|
|
|
|
CBSCover();
|
2023-02-06 17:01:01 +00:00
|
|
|
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;
|
2022-11-11 12:55:40 +00:00
|
|
|
|
|
|
|
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
|