diff options
Diffstat (limited to 'game/server/steamjet.h')
| -rw-r--r-- | game/server/steamjet.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/game/server/steamjet.h b/game/server/steamjet.h new file mode 100644 index 0000000..2d784d5 --- /dev/null +++ b/game/server/steamjet.h @@ -0,0 +1,60 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: Defines the server side of a steam jet particle system entity. +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef STEAMJET_H +#define STEAMJET_H +#pragma once + +#include "baseparticleentity.h" + +//NOTENOTE: Mirrored in cl_dlls\c_steamjet.cpp +#define STEAM_NORMAL 0 +#define STEAM_HEATWAVE 1 + +//================================================== +// CSteamJet +//================================================== + +class CSteamJet : public CBaseParticleEntity +{ +public: + CSteamJet(); + DECLARE_CLASS( CSteamJet, CBaseParticleEntity ); + DECLARE_DATADESC(); + DECLARE_SERVERCLASS(); + + virtual void Spawn( void ); + virtual void Precache( void ); + +protected: + + // Input handlers. + void InputTurnOn(inputdata_t &data); + void InputTurnOff(inputdata_t &data); + void InputToggle(inputdata_t &data); + +// Stuff from the datatable. +public: + CNetworkVar( float, m_SpreadSpeed ); + CNetworkVar( float, m_Speed ); + CNetworkVar( float, m_StartSize ); + CNetworkVar( float, m_EndSize ); + CNetworkVar( float, m_Rate ); + CNetworkVar( float, m_JetLength ); // Length of the jet. Lifetime is derived from this. + + CNetworkVar( int, m_bEmit ); // Emit particles? + CNetworkVar( bool, m_bFaceLeft ); // For support of legacy env_steamjet, which faced left instead of forward. + bool m_InitialState; + + CNetworkVar( int, m_nType ); // Type of steam (normal, heatwave) + CNetworkVar( float, m_flRollSpeed ); + + virtual void Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ); +}; + +#endif // STEAMJET_H + |