mirror of
https://github.com/nillerusr/source-engine.git
synced 2025-03-13 06:01:53 +00:00
45 lines
1.4 KiB
C++
45 lines
1.4 KiB
C++
#ifndef _INCLUDED_C_ASW_EGG_H
|
|
#define _INCLUDED_C_ASW_EGG_H
|
|
|
|
#include "iasw_client_aim_target.h"
|
|
#include "asw_shareddefs.h"
|
|
#include "glow_outline_effect.h"
|
|
|
|
class CNewParticleEffect;
|
|
|
|
class C_ASW_Egg : public C_BaseFlex, public IASW_Client_Aim_Target
|
|
{
|
|
public:
|
|
DECLARE_CLASS( C_ASW_Egg, C_BaseFlex );
|
|
DECLARE_CLIENTCLASS();
|
|
|
|
C_ASW_Egg();
|
|
virtual ~C_ASW_Egg();
|
|
|
|
// aim target interface
|
|
IMPLEMENT_AUTO_LIST_GET();
|
|
virtual float GetRadius() { return 20; }
|
|
virtual bool IsAimTarget() { return true; }
|
|
virtual const Vector& GetAimTargetPos(const Vector &vecFiringSrc, bool bWeaponPrefersFlatAiming) { return WorldSpaceCenter(); }
|
|
virtual const Vector& GetAimTargetRadiusPos(const Vector &vecFiringSrc) { return WorldSpaceCenter(); }
|
|
|
|
virtual void TraceAttack( const CTakeDamageInfo &info, const Vector &vecDir, trace_t *ptr );
|
|
virtual void Bleed( const CTakeDamageInfo &info, const Vector &vecPos, const Vector &vecDir, trace_t *ptr );
|
|
|
|
Class_T Classify( void ) { return (Class_T) CLASS_ASW_EGG; }
|
|
virtual void OnDataChanged( DataUpdateType_t type );
|
|
virtual void UpdateFireEmitters();
|
|
virtual void UpdateOnRemove();
|
|
virtual void ClientThink();
|
|
|
|
CGlowObject m_GlowObject;
|
|
bool m_bClientOnFire;
|
|
CNetworkVar(bool, m_bOnFire);
|
|
CNewParticleEffect *m_pBurningEffect;
|
|
float m_fEggAwake; // controls green lines on the outside
|
|
|
|
private:
|
|
C_ASW_Egg( const C_ASW_Egg & ); // not defined, not accessible
|
|
};
|
|
|
|
#endif // _INCLUDED_C_ASW_EGG_H
|