You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
210 lines
5.9 KiB
210 lines
5.9 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
// |
|
//=============================================================================// |
|
#ifndef SMOKE_TRAIL_H |
|
#define SMOKE_TRAIL_H |
|
|
|
#include "baseparticleentity.h" |
|
|
|
//================================================== |
|
// SmokeTrail |
|
//================================================== |
|
|
|
class SmokeTrail : public CBaseParticleEntity |
|
{ |
|
DECLARE_DATADESC(); |
|
public: |
|
DECLARE_CLASS( SmokeTrail, CBaseParticleEntity ); |
|
DECLARE_SERVERCLASS(); |
|
|
|
SmokeTrail(); |
|
virtual bool KeyValue( const char *szKeyName, const char *szValue ); |
|
void SetEmit(bool bVal); |
|
void FollowEntity( CBaseEntity *pEntity, const char *pAttachmentName = NULL); |
|
static SmokeTrail* CreateSmokeTrail(); |
|
|
|
public: |
|
// Effect parameters. These will assume default values but you can change them. |
|
CNetworkVector( m_StartColor ); // Fade between these colors. |
|
CNetworkVector( m_EndColor ); |
|
CNetworkVar( float, m_Opacity ); |
|
|
|
CNetworkVar( float, m_SpawnRate ); // How many particles per second. |
|
CNetworkVar( float, m_ParticleLifetime ); // How long do the particles live? |
|
CNetworkVar( float, m_StopEmitTime ); // When do I stop emitting particles? |
|
CNetworkVar( float, m_MinSpeed ); // Speed range. |
|
CNetworkVar( float, m_MaxSpeed ); |
|
CNetworkVar( float, m_StartSize ); // Size ramp. |
|
CNetworkVar( float, m_EndSize ); |
|
CNetworkVar( float, m_SpawnRadius ); |
|
CNetworkVar( float, m_MinDirectedSpeed ); // Speed range. |
|
CNetworkVar( float, m_MaxDirectedSpeed ); |
|
CNetworkVar( bool, m_bEmit ); |
|
|
|
CNetworkVar( int, m_nAttachment ); |
|
}; |
|
|
|
//================================================== |
|
// RocketTrail |
|
//================================================== |
|
|
|
class RocketTrail : public CBaseParticleEntity |
|
{ |
|
DECLARE_DATADESC(); |
|
public: |
|
DECLARE_CLASS( RocketTrail, CBaseParticleEntity ); |
|
DECLARE_SERVERCLASS(); |
|
|
|
RocketTrail(); |
|
void SetEmit(bool bVal); |
|
void FollowEntity( CBaseEntity *pEntity, const char *pAttachmentName = NULL); |
|
static RocketTrail *CreateRocketTrail(); |
|
|
|
public: |
|
// Effect parameters. These will assume default values but you can change them. |
|
CNetworkVector( m_StartColor ); // Fade between these colors. |
|
CNetworkVector( m_EndColor ); |
|
CNetworkVar( float, m_Opacity ); |
|
|
|
CNetworkVar( float, m_SpawnRate ); // How many particles per second. |
|
CNetworkVar( float, m_ParticleLifetime ); // How long do the particles live? |
|
CNetworkVar( float, m_StopEmitTime ); // When do I stop emitting particles? |
|
CNetworkVar( float, m_MinSpeed ); // Speed range. |
|
CNetworkVar( float, m_MaxSpeed ); |
|
CNetworkVar( float, m_StartSize ); // Size ramp. |
|
CNetworkVar( float, m_EndSize ); |
|
CNetworkVar( float, m_SpawnRadius ); |
|
|
|
CNetworkVar( bool, m_bEmit ); |
|
|
|
CNetworkVar( int, m_nAttachment ); |
|
|
|
CNetworkVar( bool, m_bDamaged ); |
|
|
|
CNetworkVar( float, m_flFlareScale ); // Size of the flare |
|
}; |
|
|
|
//================================================== |
|
// SporeTrail |
|
//================================================== |
|
|
|
class SporeTrail : public CBaseParticleEntity |
|
{ |
|
DECLARE_DATADESC(); |
|
public: |
|
DECLARE_CLASS( SporeTrail, CBaseParticleEntity ); |
|
DECLARE_SERVERCLASS(); |
|
|
|
SporeTrail( void ); |
|
|
|
static SporeTrail* CreateSporeTrail(); |
|
|
|
//Data members |
|
public: |
|
|
|
CNetworkVector( m_vecEndColor ); |
|
|
|
CNetworkVar( float, m_flSpawnRate ); |
|
CNetworkVar( float, m_flParticleLifetime ); |
|
CNetworkVar( float, m_flStartSize ); |
|
CNetworkVar( float, m_flEndSize ); |
|
CNetworkVar( float, m_flSpawnRadius ); |
|
|
|
CNetworkVar( bool, m_bEmit ); |
|
}; |
|
|
|
//================================================== |
|
// SporeExplosion |
|
//================================================== |
|
|
|
class SporeExplosion : public CBaseParticleEntity |
|
{ |
|
DECLARE_DATADESC(); |
|
public: |
|
DECLARE_CLASS( SporeExplosion, CBaseParticleEntity ); |
|
DECLARE_SERVERCLASS(); |
|
|
|
SporeExplosion( void ); |
|
void Spawn( void ); |
|
|
|
static SporeExplosion* CreateSporeExplosion(); |
|
|
|
void InputEnable( inputdata_t &inputdata ); |
|
void InputDisable( inputdata_t &inputdata ); |
|
|
|
//Data members |
|
public: |
|
|
|
bool m_bDisabled; |
|
|
|
CNetworkVar( float, m_flSpawnRate ); |
|
CNetworkVar( float, m_flParticleLifetime ); |
|
CNetworkVar( float, m_flStartSize ); |
|
CNetworkVar( float, m_flEndSize ); |
|
CNetworkVar( float, m_flSpawnRadius ); |
|
|
|
CNetworkVar( bool, m_bEmit ); |
|
CNetworkVar( bool, m_bDontRemove ); |
|
}; |
|
|
|
//================================================== |
|
// CFireTrail |
|
//================================================== |
|
|
|
class CFireTrail : public CBaseParticleEntity |
|
{ |
|
DECLARE_DATADESC(); |
|
public: |
|
DECLARE_CLASS( CFireTrail, CBaseParticleEntity ); |
|
DECLARE_SERVERCLASS(); |
|
|
|
static CFireTrail *CreateFireTrail( void ); |
|
void FollowEntity( CBaseEntity *pEntity, const char *pAttachmentName ); |
|
void Precache( void ); |
|
|
|
CNetworkVar( int, m_nAttachment ); |
|
CNetworkVar( float, m_flLifetime ); |
|
}; |
|
|
|
//================================================== |
|
// DustTrail |
|
//================================================== |
|
|
|
class DustTrail : public CBaseParticleEntity |
|
{ |
|
DECLARE_DATADESC(); |
|
public: |
|
DECLARE_CLASS( DustTrail, CBaseParticleEntity ); |
|
DECLARE_SERVERCLASS(); |
|
|
|
DustTrail(); |
|
virtual bool KeyValue( const char *szKeyName, const char *szValue ); |
|
void SetEmit(bool bVal); |
|
static DustTrail* CreateDustTrail(); |
|
|
|
public: |
|
// Effect parameters. These will assume default values but you can change them. |
|
CNetworkVector( m_Color ); |
|
CNetworkVar( float, m_Opacity ); |
|
|
|
CNetworkVar( float, m_SpawnRate ); // How many particles per second. |
|
CNetworkVar( float, m_ParticleLifetime ); // How long do the particles live? |
|
CNetworkVar( float, m_StopEmitTime ); // When do I stop emitting particles? |
|
CNetworkVar( float, m_MinSpeed ); // Speed range. |
|
CNetworkVar( float, m_MaxSpeed ); |
|
CNetworkVar( float, m_StartSize ); // Size ramp. |
|
CNetworkVar( float, m_EndSize ); |
|
CNetworkVar( float, m_SpawnRadius ); |
|
CNetworkVar( float, m_MinDirectedSpeed ); // Speed range. |
|
CNetworkVar( float, m_MaxDirectedSpeed ); |
|
CNetworkVar( bool, m_bEmit ); |
|
|
|
CNetworkVar( int, m_nAttachment ); |
|
}; |
|
|
|
|
|
#endif
|
|
|