This repository has been archived on 2024-06-13. You can view files and clone it, but cannot push or open issues or pull requests.
2020-08-04 13:13:01 -04:00

54 lines
1.3 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================//
#ifndef FX_TRAIL_H
#define FX_TRAIL_H
#ifdef _WIN32
#pragma once
#endif
#include "baseparticleentity.h"
#include "particle_prototype.h"
#include "particle_util.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