prime/include/MetroidPrime/Enemies/CFlaahgraPlants.hpp

40 lines
1.1 KiB
C++

#ifndef _CFLAAHGRAPLANTS
#define _CFLAAHGRAPLANTS
#include "types.h"
#include "Collision/COBBox.hpp"
#include "Kyoto/Particles/CElementGen.hpp"
#include "MetroidPrime/CDamageInfo.hpp"
#include "MetroidPrime/Enemies/CPatterned.hpp"
class CPatternedInfo;
class CGenDescription;
class CFlaahgraPlants : public CActor {
public:
CFlaahgraPlants(const TToken< CGenDescription >&, const CActorParameters&, TUniqueId, TAreaId,
TUniqueId, const CTransform4f&, const CDamageInfo&, const CVector3f&);
// CEntity
~CFlaahgraPlants();
void Accept(IVisitor& visitor);
void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId sender, CStateManager& mgr);
void Think(float dt, CStateManager& mgr);
// CActor
void AddToRenderer(const CFrustumPlanes& frustum, const CStateManager& mgr) const;
rstl::optional_object< CAABox > GetTouchBounds() const;
void Touch(CActor& actor, CStateManager& mgr);
private:
rstl::auto_ptr< CElementGen > xe8_elementGen;
TUniqueId xf0_ownerId;
CDamageInfo xf4_damageInfo;
rstl::optional_object< CAABox > x110_aabox;
float x12c_lastDt;
COBBox x130_obbox;
TUniqueId x16c_colAct;
};
#endif // _CFLAAHGRAPLANTS