diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /game/shared/hl2/env_alyxemp_shared.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'game/shared/hl2/env_alyxemp_shared.h')
| -rw-r--r-- | game/shared/hl2/env_alyxemp_shared.h | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/game/shared/hl2/env_alyxemp_shared.h b/game/shared/hl2/env_alyxemp_shared.h new file mode 100644 index 0000000..b6de643 --- /dev/null +++ b/game/shared/hl2/env_alyxemp_shared.h @@ -0,0 +1,63 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//=============================================================================// + +#ifndef ENV_ALYXEMP_SHARED_H +#define ENV_ALYXEMP_SHARED_H +#ifdef _WIN32 +#pragma once +#endif + +#include "beam_shared.h" + +enum +{ + ALYXEMP_STATE_OFF, + ALYXEMP_STATE_CHARGING, + ALYXEMP_STATE_DISCHARGING, +}; + +class CAlyxEmpEffect : public CBaseEntity +{ + DECLARE_CLASS( CAlyxEmpEffect, CBaseEntity ); + DECLARE_SERVERCLASS(); + DECLARE_DATADESC(); + +public: + + void InputStartCharge( inputdata_t &inputdata ); + void InputStartDischarge( inputdata_t &inputdata ); + void InputStop( inputdata_t &inputdata ); + void InputSetTargetEnt( inputdata_t &inputdata ); + + void StartCharge( float flDuration ); + void StartDischarge(); + void Stop( float flDuration ); + void SetTargetEntity( CBaseEntity *pTarget ); + + void ActivateAutomatic( CBaseEntity *pAlyx, CBaseEntity *pTarget ); + void AutomaticThink(); + + void Spawn( void ); + void Precache( void ); + void Activate( void ); + +private: + + void SetTargetEntity( const char *szEntityName ); + CHandle<CBeam> m_hBeam; + CHandle<CBaseEntity> m_hTargetEnt; + string_t m_strTargetName; + int m_nType; // What type of effect this is (small, large) + int m_iState; + bool m_bAutomated; + + CNetworkVar( int, m_nState ); + CNetworkVar( float, m_flDuration ); + CNetworkVar( float, m_flStartTime ); +}; + + +#endif // ENV_ALYXEMP_SHARED_H |