diff options
Diffstat (limited to 'game/server/EntityParticleTrail.h')
| -rw-r--r-- | game/server/EntityParticleTrail.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/game/server/EntityParticleTrail.h b/game/server/EntityParticleTrail.h new file mode 100644 index 0000000..d22e0d4 --- /dev/null +++ b/game/server/EntityParticleTrail.h @@ -0,0 +1,52 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//=============================================================================// + +#ifndef ENTITYPARTICLETRAIL_H +#define ENTITYPARTICLETRAIL_H + +#ifdef _WIN32 +#pragma once +#endif + +#include "baseparticleentity.h" +#include "entityparticletrail_shared.h" + + +//----------------------------------------------------------------------------- +// Spawns particles after the entity +//----------------------------------------------------------------------------- +class CEntityParticleTrail : public CBaseParticleEntity +{ + DECLARE_DATADESC(); + DECLARE_CLASS( CEntityParticleTrail, CBaseParticleEntity ); + DECLARE_SERVERCLASS(); + +public: + static CEntityParticleTrail *Create( CBaseEntity *pTarget, const EntityParticleTrailInfo_t &info, CBaseEntity *pConstraint ); + static void Destroy( CBaseEntity *pTarget, const EntityParticleTrailInfo_t &info ); + + void Spawn(); + virtual void UpdateOnRemove(); + + // Force our constraint entity to be trasmitted + virtual void SetTransmit( CCheckTransmitInfo *pInfo, bool bAlways ); + + // Clean up when the entity goes away. + virtual void NotifySystemEvent( CBaseEntity *pNotify, notify_system_event_t eventType, const notify_system_event_params_t ¶ms ); + +private: + void AttachToEntity( CBaseEntity *pTarget ); + void IncrementRefCount(); + void DecrementRefCount(); + + CNetworkVar( int, m_iMaterialName ); + CNetworkVarEmbedded( EntityParticleTrailInfo_t, m_Info ); + CNetworkHandle( CBaseEntity, m_hConstraintEntity ); + + int m_nRefCount; +}; + +#endif // ENTITYPARTICLETRAIL_H |