csgo-2018-source/game/server/particle_smokegrenade.h
2021-07-24 21:11:47 -07:00

76 lines
1.7 KiB
C++

//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//
//=============================================================================//
#ifndef PARTICLE_SMOKEGRENADE_H
#define PARTICLE_SMOKEGRENADE_H
#include "baseparticleentity.h"
#define PARTICLESMOKEGRENADE_ENTITYNAME "env_particlesmokegrenade"
#define MIN_SMOKE_TINT 0.5f
#define MAX_SMOKE_TINT 0.6f
class ParticleSmokeGrenade : public CBaseParticleEntity
{
DECLARE_DATADESC();
public:
DECLARE_CLASS( ParticleSmokeGrenade, CBaseParticleEntity );
DECLARE_SERVERCLASS();
ParticleSmokeGrenade();
virtual ~ParticleSmokeGrenade();
virtual void Spawn( void );
virtual int UpdateTransmitState( void );
void SetCreator(CBasePlayer *creator);
CBasePlayer* GetCreator();
public:
// Tell the client entity to start filling the volume.
void FillVolume();
// Set the times it fades out at.
void SetFadeTime(float startTime, float endTime);
// Set time to fade out relative to current time
void SetRelativeFadeTime(float startTime, float endTime);
// Set the tint color of the grenade smoke.
void SetSmokeColor(Vector color);
void Think( void );
public:
// Stage 0 (default): make a smoke trail that follows the entity it's following.
// Stage 1 : fill a volume with smoke.
CNetworkVar( unsigned char, m_CurrentStage );
CNetworkVar( float, m_flSpawnTime );
// When to fade in and out.
CNetworkVar( float, m_FadeStartTime );
CNetworkVar( float, m_FadeEndTime );
CNetworkVar( Vector, m_MinColor );
CNetworkVar( Vector, m_MaxColor );
protected:
EHANDLE m_creatorPlayer;
};
#endif