prime/include/MetroidPrime/BodyState/CABSReaction.hpp

29 lines
751 B
C++

#ifndef _CABSREACTION
#define _CABSREACTION
#include "MetroidPrime/BodyState/CAdditiveBodyState.hpp"
class CABSReaction : public CAdditiveBodyState {
public:
CABSReaction();
~CABSReaction();
void Start(CBodyController& bc, CStateManager& mgr) override;
pas::EAnimationState UpdateBody(float dt, CBodyController& bc, CStateManager& mgr) override;
void Shutdown(CBodyController& bc) override;
float GetWeight() const { return x4_weight; }
bool IsActive() const { return x10_active; }
private:
float x4_weight;
int x8_anim;
pas::EAdditiveReactionType xc_type;
bool x10_active;
pas::EAnimationState GetBodyStateTransition(float dt, CBodyController& bc);
void StopAnimation(CBodyController& bc);
};
#endif // _CABSREACTION