|
|
//========= 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
|