mirror of
https://github.com/PrimeDecomp/prime.git
synced 2025-12-14 17:26:07 +00:00
38
include/MetroidPrime/Enemies/CRipper.hpp
Normal file
38
include/MetroidPrime/Enemies/CRipper.hpp
Normal file
@@ -0,0 +1,38 @@
|
||||
#ifndef _CRIPPER
|
||||
#define _CRIPPER
|
||||
|
||||
#include "MetroidPrime/CGrappleParameters.hpp"
|
||||
#include "MetroidPrime/Enemies/CPatterned.hpp"
|
||||
#include "MetroidPrime/TCastTo.hpp"
|
||||
|
||||
class CRipper : public CPatterned {
|
||||
static const uint skNumProperties;
|
||||
|
||||
public:
|
||||
static uint GetNumProperties() { return skNumProperties; }
|
||||
CRipper(TUniqueId uid, const rstl::string& name, EFlavorType type, const CEntityInfo& info,
|
||||
const CTransform4f& transform, const CModelData& modelData,
|
||||
const CPatternedInfo& patternedInfo, const CActorParameters& actorParams,
|
||||
const CGrappleParameters& grappleParams);
|
||||
~CRipper();
|
||||
void Accept(IVisitor& visitor) override;
|
||||
void Think(float dt, CStateManager& mgr) override;
|
||||
void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId sender, CStateManager& mgr) override;
|
||||
EWeaponCollisionResponseTypes GetCollisionResponseType(const CVector3f& position, const CVector3f& direction, const CWeaponMode& mode, int projectileAtrib) const override;
|
||||
void KnockBack(const CVector3f& direction, CStateManager& mgr, const CDamageInfo& damage, EKnockBackType knockBack, bool inDeferred, float mag) override;
|
||||
bool PathOver(CStateManager& mgr, float arg) override;
|
||||
void Patrol(CStateManager& mgr, EStateMsg msg, float arg) override;
|
||||
|
||||
private:
|
||||
void ProcessGrapplePoint(CStateManager& mgr);
|
||||
void AddGrapplePoint(CStateManager& mgr);
|
||||
void RemoveGrapplePoint(CStateManager& mgr);
|
||||
void AddPlatform(CStateManager& mgr);
|
||||
void RemovePlatform(CStateManager& mgr);
|
||||
CGrappleParameters mGrappleParams;
|
||||
TUniqueId mGrapplePoint;
|
||||
TUniqueId mPlatform;
|
||||
bool mMuted : 1;
|
||||
};
|
||||
|
||||
#endif // _CRIPPER
|
||||
Reference in New Issue
Block a user