2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-10 02:27:42 +00:00

Implement CKnockBackController

This commit is contained in:
Jack Andersen
2018-11-04 20:12:53 -10:00
parent 4c306e7e40
commit d6051f8808
39 changed files with 947 additions and 102 deletions

View File

@@ -8,6 +8,7 @@
#include "CDamageVulnerability.hpp"
#include "CHealthInfo.hpp"
#include "CStateMachine.hpp"
#include "CKnockBackController.hpp"
#include "zeus/zeus.hpp"
@@ -21,12 +22,6 @@ enum class EListenNoiseType
Projectile
};
enum class EKnockBackType
{
Zero,
One
};
class CAiFuncMap;
class CStateManager;
class CScriptWater;
@@ -50,8 +45,9 @@ public:
virtual void AcceptScriptMsg(EScriptObjectMessage, TUniqueId, CStateManager&);
virtual CHealthInfo* HealthInfo(CStateManager&) { return &x258_healthInfo; }
virtual void Death(CStateManager&, const zeus::CVector3f&, EStateMsg)=0;
virtual void KnockBack(const zeus::CVector3f&, CStateManager&, const CDamageInfo& info, EKnockBackType, bool, float)=0;
virtual void Death(const zeus::CVector3f&, CStateManager&, EScriptObjectState)=0;
virtual void KnockBack(const zeus::CVector3f&, CStateManager&, const CDamageInfo& info,
EKnockBackType type, bool inDeferred, float magnitude)=0;
virtual const CDamageVulnerability* GetDamageVulnerability() const { return &x260_damageVulnerability; }
virtual const CDamageVulnerability* GetDamageVulnerability() { return &x260_damageVulnerability; }
virtual void TakeDamage(const zeus::CVector3f&, float) {}