diff options
Diffstat (limited to 'game/server/scriptedtarget.h')
| -rw-r--r-- | game/server/scriptedtarget.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/game/server/scriptedtarget.h b/game/server/scriptedtarget.h new file mode 100644 index 0000000..4f1c1e0 --- /dev/null +++ b/game/server/scriptedtarget.h @@ -0,0 +1,64 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef SCRIPTEDTARGET_H +#define SCRIPTEDTARGET_H +#ifdef _WIN32 +#pragma once +#endif + +#ifndef SCRIPTEVENT_H +#include "scriptevent.h" +#endif + +#include "ai_basenpc.h" + +class CScriptedTarget : public CAI_BaseNPC +{ + DECLARE_CLASS( CScriptedTarget, CAI_BaseNPC ); +public: + DECLARE_DATADESC(); + + void Spawn( void ); + virtual int ObjectCaps( void ) { return (BaseClass::ObjectCaps() & ~FCAP_ACROSS_TRANSITION); } + + + void ScriptThink( void ); + CBaseEntity* FindEntity( void ); + + void TurnOn(void); + void TurnOff(void); + + // Input handlers + void InputEnable( inputdata_t &inputdata ); + void InputDisable( inputdata_t &inputdata ); + + CScriptedTarget* NextScriptedTarget(void); + float MoveSpeed(void) { return m_nMoveSpeed; }; + float EffectDuration(void) { return m_flEffectDuration; }; + + int DrawDebugTextOverlays(void); + void DrawDebugGeometryOverlays(void); + float PercentComplete(void); + + Vector m_vLastPosition; // Last position that's been reached + +private: + int m_iDisabled; // Initial state + string_t m_iszEntity; // entity that is wanted for this script + float m_flRadius; // range to search + + int m_nMoveSpeed; // How fast do I burn from target to target + float m_flPauseDuration; // How long to pause at this target + float m_flPauseDoneTime; // When is pause over + float m_flEffectDuration; // How long should any associated effect last? + + COutputEvent m_AtTarget; // Fired when scripted target has been reached + COutputEvent m_LeaveTarget; // Fired when scripted target is left +}; + +#endif // SCRIPTEDTARGET_H |