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

62 lines
1.7 KiB
C++

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