2022-10-14 08:46:50 +00:00
|
|
|
#ifndef _CBODYSTATECMDMGR
|
|
|
|
#define _CBODYSTATECMDMGR
|
|
|
|
|
2022-10-24 23:29:11 +00:00
|
|
|
#include "Kyoto/Animation/CharacterCommon.hpp"
|
|
|
|
#include "Kyoto/Math/CVector3f.hpp"
|
2022-10-14 08:46:50 +00:00
|
|
|
|
2022-10-14 13:36:01 +00:00
|
|
|
class CBodyStateCmd {
|
|
|
|
EBodyStateCmd x4_cmd;
|
|
|
|
|
|
|
|
public:
|
2022-10-24 23:29:11 +00:00
|
|
|
virtual ~CBodyStateCmd(){};
|
2022-10-14 13:36:01 +00:00
|
|
|
explicit CBodyStateCmd(EBodyStateCmd cmd) : x4_cmd(cmd) {}
|
|
|
|
EBodyStateCmd GetCommandId() const { return x4_cmd; }
|
|
|
|
};
|
|
|
|
|
|
|
|
class CBCAdditiveFlinchCmd : public CBodyStateCmd {
|
|
|
|
float x8_weight;
|
|
|
|
|
|
|
|
public:
|
|
|
|
float GetWeight() const { return x8_weight; }
|
|
|
|
};
|
2022-10-14 08:46:50 +00:00
|
|
|
|
2022-10-24 23:29:11 +00:00
|
|
|
class CBCSlideCmd : public CBodyStateCmd {
|
|
|
|
|
|
|
|
public:
|
|
|
|
explicit CBCSlideCmd() : CBodyStateCmd(kBSC_Slide), x8_type(pas::kSlide_Invalid), xc_dir(CVector3f::Zero()) {}
|
|
|
|
explicit CBCSlideCmd(pas::ESlideType type, const CVector3f& dir)
|
|
|
|
: CBodyStateCmd(kBSC_Slide), x8_type(type), xc_dir(dir) {}
|
|
|
|
|
|
|
|
pas::ESlideType GetSlideType() const { return x8_type; }
|
|
|
|
const CVector3f& GetSlideDirection() const { return xc_dir; }
|
|
|
|
|
|
|
|
private:
|
|
|
|
pas::ESlideType x8_type;
|
|
|
|
CVector3f xc_dir;
|
|
|
|
};
|
|
|
|
|
|
|
|
//
|
|
|
|
|
2022-10-14 08:46:50 +00:00
|
|
|
class CBodyStateCmdMgr {
|
|
|
|
public:
|
|
|
|
CBodyStateCmd* GetCmd(EBodyStateCmd cmd);
|
2022-10-24 23:29:11 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
uchar x0_pad[0x2a0];
|
2022-10-14 08:46:50 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // _CBODYSTATECMDMGR
|