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
|