prime/include/MetroidPrime/ScriptObjects/CScriptAiJumpPoint.hpp

34 lines
1.1 KiB
C++

#ifndef _CSCRIPTAIJUMPPOINT
#define _CSCRIPTAIJUMPPOINT
#include "MetroidPrime/CActor.hpp"
class CScriptAiJumpPoint : public CActor {
private:
float xe8_apex;
rstl::optional_object<CAABox> xec_touchBounds;
bool x108_24_inUse : 1;
TUniqueId x10a_occupant;
TUniqueId x10c_currentWaypoint;
TUniqueId x10e_nextWaypoint;
float x110_timeRemaining;
public:
CScriptAiJumpPoint(TUniqueId, const rstl::string&, const CEntityInfo&, const CTransform4f&, bool,
float);
~CScriptAiJumpPoint();
void Accept(IVisitor& visitor) override;
void Think(float, CStateManager&) override;
void AcceptScriptMsg(EScriptObjectMessage, TUniqueId, CStateManager&) override;
void AddToRenderer(const CFrustumPlanes&, const CStateManager&) const override;
void Render(const CStateManager&) const override;
rstl::optional_object< CAABox > GetTouchBounds() const override;
bool GetInUse(TUniqueId uid) const;
TUniqueId GetJumpPoint() const { return x10c_currentWaypoint; }
TUniqueId GetJumpTarget() const { return x10e_nextWaypoint; }
float GetJumpApex() const { return xe8_apex; }
};
#endif // _CSCRIPTAIJUMPPOINT