diff options
| author | Joe Ludwig <[email protected]> | 2013-06-26 15:22:04 -0700 |
|---|---|---|
| committer | Joe Ludwig <[email protected]> | 2013-06-26 15:22:04 -0700 |
| commit | 39ed87570bdb2f86969d4be821c94b722dc71179 (patch) | |
| tree | abc53757f75f40c80278e87650ea92808274aa59 /mp/src/game/server/scriptedtarget.h | |
| download | source-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.tar.xz source-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.zip | |
First version of the SOurce SDK 2013
Diffstat (limited to 'mp/src/game/server/scriptedtarget.h')
| -rw-r--r-- | mp/src/game/server/scriptedtarget.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/mp/src/game/server/scriptedtarget.h b/mp/src/game/server/scriptedtarget.h new file mode 100644 index 00000000..1a6a1be5 --- /dev/null +++ b/mp/src/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
|