prime/include/MetroidPrime/Weapons/CPowerBomb.hpp

40 lines
1.1 KiB
C++
Raw Normal View History

#ifndef _CPOWERBOMB
#define _CPOWERBOMB
#include "types.h"
2022-10-06 19:38:21 +00:00
#include "MetroidPrime/Weapons/CWeapon.hpp"
2022-11-09 23:45:24 +00:00
class CGenDescription;
2022-10-06 19:38:21 +00:00
class CElementGen;
class CPowerBomb : public CWeapon {
2022-11-09 23:45:24 +00:00
public:
CPowerBomb(TToken< CGenDescription > particle, TUniqueId uid, TAreaId aid,
TUniqueId playerId, const CTransform4f& xf, const CDamageInfo& dInfo);
~CPowerBomb();
void Accept(IVisitor& visitor);
void AcceptScriptMsg(EScriptObjectMessage, TUniqueId, CStateManager&);
void Think(float, CStateManager&);
void AddToRenderer(const CFrustumPlanes&, const CStateManager&) const;
void Render(const CStateManager&) const;
rstl::optional_object<CAABox> GetTouchBounds() const;
void Touch(CActor&, CStateManager&);
2022-11-09 23:45:24 +00:00
float GetCurTime() const { return x15c_curTime; }
void ApplyDynamicDamage(const CVector3f&, CStateManager&);
private:
static CColor kFadeColor;
2022-10-06 19:38:21 +00:00
bool x158_24_canStartFilter : 1;
bool x158_25_filterEnabled : 1;
float x15c_curTime;
float x160_curRadius;
float x164_radiusIncrement;
rstl::single_ptr< CElementGen > x168_particle;
2022-10-06 19:38:21 +00:00
float x16c_radius;
};
#endif // _CPOWERBOMB