#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