2022-10-09 05:13:17 +00:00
|
|
|
#ifndef _CFIRE
|
|
|
|
#define _CFIRE
|
2022-10-08 08:44:58 +00:00
|
|
|
|
2022-10-09 05:13:17 +00:00
|
|
|
#include "types.h"
|
2022-10-08 08:44:58 +00:00
|
|
|
|
2022-10-09 05:13:17 +00:00
|
|
|
#include "MetroidPrime/CActor.hpp"
|
2022-10-08 08:44:58 +00:00
|
|
|
#include "MetroidPrime/CDamageInfo.hpp"
|
|
|
|
|
|
|
|
#include "Kyoto/Particles/CElementGen.hpp"
|
|
|
|
#include "Kyoto/Particles/CGenDescription.hpp"
|
|
|
|
#include "Kyoto/TToken.hpp"
|
|
|
|
|
|
|
|
class CFire : public CActor {
|
|
|
|
public:
|
2022-10-28 21:42:35 +00:00
|
|
|
CFire(const TToken< CGenDescription >& effect, TUniqueId uid, TAreaId area, bool active,
|
|
|
|
TUniqueId owner, const CTransform4f& xf, const CDamageInfo& dInfo, const CAABox& aabox,
|
|
|
|
const CVector3f& vec, bool b1, CAssetId visorEffect, bool b2, bool b3, bool b4, float f1,
|
|
|
|
float f2, float f3, float f4);
|
2022-10-08 08:44:58 +00:00
|
|
|
|
2022-10-28 21:42:35 +00:00
|
|
|
// CEntity
|
|
|
|
~CFire() override;
|
|
|
|
void Accept(IVisitor& visitor) override;
|
|
|
|
void Think(float dt, CStateManager& mgr) override;
|
|
|
|
void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CStateManager& mgr) override;
|
|
|
|
|
|
|
|
// CActor
|
|
|
|
void Render(const CStateManager&) const override;
|
|
|
|
rstl::optional_object< CAABox > GetTouchBounds() const override;
|
|
|
|
void Touch(CActor&, CStateManager&) override;
|
2022-10-08 08:44:58 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
rstl::single_ptr< CElementGen > xe8_;
|
|
|
|
TUniqueId xec_owner;
|
|
|
|
CDamageInfo xf0_damageInfo1;
|
|
|
|
CDamageInfo x10c_damageInfo2;
|
|
|
|
rstl::optional_object< CAABox > x128_;
|
|
|
|
float x144_;
|
|
|
|
bool x148_24_ : 1;
|
|
|
|
bool x148_25_ : 1;
|
|
|
|
bool x148_26_ : 1;
|
|
|
|
bool x148_27_ : 1;
|
|
|
|
bool x148_28_ : 1;
|
|
|
|
bool x148_29_ : 1;
|
|
|
|
float x14c_;
|
|
|
|
CAssetId x150_;
|
|
|
|
float x154_;
|
|
|
|
float x158_;
|
|
|
|
float x15c_;
|
|
|
|
};
|
|
|
|
|
2022-10-09 05:13:17 +00:00
|
|
|
#endif // _CFIRE
|