metaforce/Runtime/World/CScriptActor.hpp

52 lines
1.9 KiB
C++
Raw Normal View History

2016-04-19 00:17:49 +00:00
#ifndef __URDE_CSCRIPTACTOR_HPP__
#define __URDE_CSCRIPTACTOR_HPP__
#include "CPhysicsActor.hpp"
2017-02-03 23:32:15 +00:00
#include "CHealthInfo.hpp"
#include "CDamageVulnerability.hpp"
2016-04-19 00:17:49 +00:00
namespace urde
{
class CScriptActor : public CPhysicsActor
{
2017-02-03 23:32:15 +00:00
protected:
CHealthInfo x258_initialHealth;
CHealthInfo x260_currentHealth;
CDamageVulnerability x268_damageVulnerability;
2017-02-13 00:00:07 +00:00
float x2d0_alphaMax;
float x2d4_alphaMin;
2017-02-03 23:32:15 +00:00
s32 x2d8_;
2017-02-11 00:52:52 +00:00
float x2dc_xrayAlpha;
TUniqueId x2e0_triggerId = kInvalidUniqueId;
2017-02-03 23:32:15 +00:00
bool x2e2_24_ : 1;
2017-02-13 00:00:07 +00:00
bool x2e2_25_dead : 1;
bool x2e2_26_animating : 1;
2017-02-03 23:32:15 +00:00
bool x2e2_27_ : 1;
bool x2e2_28_ : 1;
bool x2e2_29_ : 1;
2017-02-13 00:00:07 +00:00
bool x2e2_30_transposeRotate : 1;
2017-02-03 23:32:15 +00:00
bool x2e2_31_ : 1;
2017-11-24 08:23:28 +00:00
bool x2e3_24_cameraMoveIntoAlpha : 1;
2017-02-03 23:32:15 +00:00
2016-04-19 00:17:49 +00:00
public:
2017-11-13 06:19:18 +00:00
CScriptActor(TUniqueId, std::string_view, const CEntityInfo&, const zeus::CTransform&, CModelData&&,
const zeus::CAABox& aabb, float, float, const CMaterialList& matList, const CHealthInfo&,
const CDamageVulnerability&, const CActorParameters&, bool, bool, u32, float, bool, bool, bool, bool);
2017-01-15 03:07:01 +00:00
void Accept(IVisitor& visitor);
2017-02-03 23:32:15 +00:00
void AcceptScriptMsg(EScriptObjectMessage, TUniqueId, CStateManager&);
void Think(float, CStateManager&);
2017-02-11 00:52:52 +00:00
void PreRender(CStateManager&, const zeus::CFrustum&);
2017-02-03 23:32:15 +00:00
zeus::CAABox GetSortingBounds(const CStateManager&) const;
EWeaponCollisionResponseTypes GetCollisionResponseType(const zeus::CVector3f&, const zeus::CVector3f&,
2017-08-13 05:26:14 +00:00
const CWeaponMode&, int) const;
2017-02-03 23:32:15 +00:00
rstl::optional_object<zeus::CAABox> GetTouchBounds() const;
void Touch(CActor&, CStateManager&);
2017-08-13 05:26:14 +00:00
const CDamageVulnerability* GetDamageVulnerability() const { return &x268_damageVulnerability; }
2017-08-20 05:23:22 +00:00
CHealthInfo* HealthInfo(CStateManager&) { return &x260_currentHealth; }
2017-11-24 08:23:28 +00:00
bool IsCameraMoveIntoAlpha() const { return x2e3_24_cameraMoveIntoAlpha; }
};
2016-04-19 00:17:49 +00:00
};
#endif // __URDE_CSCRIPTACTOR_HPP__