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.
56 lines
1.2 KiB
56 lines
1.2 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
//=============================================================================// |
|
|
|
#ifndef FX_TRAIL_H |
|
#define FX_TRAIL_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
#include "particle_util.h" |
|
#include "baseparticleentity.h" |
|
#include "particle_prototype.h" |
|
|
|
class C_ParticleTrail : public C_BaseParticleEntity, public IPrototypeAppEffect |
|
{ |
|
public: |
|
|
|
DECLARE_CLASS( C_ParticleTrail, C_BaseParticleEntity ); |
|
|
|
C_ParticleTrail( void ); |
|
virtual ~C_ParticleTrail( void ); |
|
|
|
void GetAimEntOrigin( IClientEntity *pAttachedTo, Vector *pAbsOrigin, QAngle *pAbsAngles ); |
|
|
|
void SetEmit( bool bEmit ); |
|
bool ShouldEmit( void ) { return m_bEmit; } |
|
|
|
void SetSpawnRate( float rate ); |
|
|
|
|
|
// C_BaseEntity. |
|
public: |
|
virtual void OnDataChanged(DataUpdateType_t updateType); |
|
|
|
virtual void Start( CParticleMgr *pParticleMgr, IPrototypeArgAccess *pArgs ); |
|
|
|
int m_nAttachment; |
|
float m_flLifetime; // How long this effect will last |
|
|
|
private: |
|
|
|
float m_SpawnRate; // How many particles per second. |
|
bool m_bEmit; // Keep emitting particles? |
|
|
|
TimedEvent m_ParticleSpawn; |
|
CParticleMgr *m_pParticleMgr; |
|
|
|
private: |
|
|
|
C_ParticleTrail( const C_ParticleTrail & ); |
|
}; |
|
|
|
#endif // FX_TRAIL_H
|
|
|