diff options
Diffstat (limited to 'game/server/effects.h')
| -rw-r--r-- | game/server/effects.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/game/server/effects.h b/game/server/effects.h new file mode 100644 index 0000000..364657f --- /dev/null +++ b/game/server/effects.h @@ -0,0 +1,68 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef EFFECTS_H +#define EFFECTS_H + +#ifdef _WIN32 +#pragma once +#endif + + +class CBaseEntity; +class Vector; + + +//----------------------------------------------------------------------------- +// The rotor wash shooter. It emits gibs when pushed by a rotor wash +//----------------------------------------------------------------------------- +abstract_class IRotorWashShooter +{ +public: + virtual CBaseEntity *DoWashPush( float flWashStartTime, const Vector &vecForce ) = 0; +}; + + +//----------------------------------------------------------------------------- +// Gets at the interface if the entity supports it +//----------------------------------------------------------------------------- +IRotorWashShooter *GetRotorWashShooter( CBaseEntity *pEntity ); + +class CEnvQuadraticBeam : public CPointEntity +{ + DECLARE_CLASS( CEnvQuadraticBeam, CPointEntity ); + +public: + void Spawn(); + void SetSpline( const Vector &control, const Vector &target ) + { + m_targetPosition = target; + m_controlPosition = control; + } + void SetScrollRate( float rate ) + { + m_scrollRate = rate; + } + + void SetWidth( float width ) + { + m_flWidth = width; + } + +private: + CNetworkVector( m_targetPosition ); + CNetworkVector( m_controlPosition ); + CNetworkVar( float, m_scrollRate ); + CNetworkVar( float, m_flWidth ); + + DECLARE_DATADESC(); + DECLARE_SERVERCLASS(); +}; +CEnvQuadraticBeam *CreateQuadraticBeam( const char *pSpriteName, const Vector &start, const Vector &control, const Vector &end, float width, CBaseEntity *pOwner ); + + +#endif // EFFECTS_H |