mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-08 22:27:43 +00:00
CBodyState and CStateMachine work
This commit is contained in:
76
Runtime/Character/CBodyController.hpp
Normal file
76
Runtime/Character/CBodyController.hpp
Normal file
@@ -0,0 +1,76 @@
|
||||
#ifndef __URDE_CBODYCONTROLLER_HPP__
|
||||
#define __URDE_CBODYCONTROLLER_HPP__
|
||||
|
||||
#include "RetroTypes.hpp"
|
||||
#include "zeus/CQuaternion.hpp"
|
||||
#include "CharacterCommon.hpp"
|
||||
|
||||
namespace urde
|
||||
{
|
||||
|
||||
class CActor;
|
||||
class CAnimPlaybackParms;
|
||||
class CFinalInput;
|
||||
class CPASAnimParmData;
|
||||
class CRandom16;
|
||||
class CStateManager;
|
||||
class CBodyController
|
||||
{
|
||||
public:
|
||||
CBodyController(CActor&, float, EBodyType);
|
||||
void GetCurrentStateId() const;
|
||||
void GetComandMgr();
|
||||
void SetDoDeathAnims(bool);
|
||||
bool IsElectrocuting() const;
|
||||
bool IsOnFire() const;
|
||||
bool IsFrozen() const;
|
||||
void GetBodyStateInfo() const;
|
||||
bool GetIsActive() const;
|
||||
void BodyStateInfo();
|
||||
float GetTurnSpeed() const;
|
||||
pas::ELocomotionType GetLocomotionType() const;
|
||||
void GetOwner();
|
||||
bool IsAnimationOver() const;
|
||||
void EnableAnimation(bool);
|
||||
bool ShouldPlayDeathAnims() const;
|
||||
void GetCurrentAnimId() const;
|
||||
void Activate(CStateManager&);
|
||||
void GetCurrentAdditiveState();
|
||||
void SetState(pas::EAnimationState);
|
||||
void Update(float, CStateManager&);
|
||||
void Deactivate();
|
||||
bool ShouldBeHurled() const;
|
||||
bool HasBodyState(pas::EAnimationState);
|
||||
pas::EFallState GetFallState() const;
|
||||
void SetFallState(pas::EFallState);
|
||||
void UpdateBody(float, CStateManager&);
|
||||
void SetAdditiveState(pas::EAnimationState);
|
||||
void SetTurnSpeed(float);
|
||||
void SetCurrentAnimation(const CAnimPlaybackParms&, bool, bool);
|
||||
void GetAnimTimeRemaining() const;
|
||||
void SetPlaybackRate(float);
|
||||
void MultiplyPlaybackRate(float);
|
||||
void SetDeltaRotation(const zeus::CQuaternion&);
|
||||
void FaceDirection(const zeus::CVector3f&, float);
|
||||
void FaceDirection3D(const zeus::CVector3f&, float);
|
||||
void HasBodyInfo(CActor&);
|
||||
void ProcessInput(const CFinalInput&);
|
||||
void GetPASDatabase() const;
|
||||
void PlayBestAnimation(const CPASAnimParmData&, CRandom16&);
|
||||
void LoopBestAnimation(const CPASAnimParmData&, CRandom16&);
|
||||
void Freeze(float, float, float);
|
||||
void UnFreeze();
|
||||
void GetPercentageFrozen() const;
|
||||
void SetOnFire(float);
|
||||
void DouseFlames();
|
||||
void SetElectrocuting(float);
|
||||
void DouseElectrocuting();
|
||||
void UpdateFrozenInfo(float, CStateManager&);
|
||||
void GetCurrentAdditiveStateId() const;
|
||||
EBodyType GetBodyType() const;
|
||||
bool HasBeenFrozen() const;
|
||||
void GetOwner() const;
|
||||
};
|
||||
}
|
||||
|
||||
#endif // __URDE_CBODYCONTROLLER_HPP__
|
||||
Reference in New Issue
Block a user