//========= 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