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/ai_moveshoot.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/ai_moveshoot.h')
| -rw-r--r-- | mp/src/game/server/ai_moveshoot.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/mp/src/game/server/ai_moveshoot.h b/mp/src/game/server/ai_moveshoot.h new file mode 100644 index 00000000..3c9da731 --- /dev/null +++ b/mp/src/game/server/ai_moveshoot.h @@ -0,0 +1,54 @@ +//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+//=============================================================================//
+
+#ifndef AI_MOVESHOOT_H
+#define AI_MOVESHOOT_H
+
+#include "ai_component.h"
+
+#if defined( _WIN32 )
+#pragma once
+#endif
+
+//-----------------------------------------------------------------------------
+// @TODO (toml 07-09-03): probably want to fold this into base NPC. evaluate when
+// head above water
+
+class CAI_MoveAndShootOverlay : public CAI_Component
+{
+ typedef CAI_Component BaseClass;
+
+public:
+ CAI_MoveAndShootOverlay();
+
+ void StartShootWhileMove( );
+ void NoShootWhileMove();
+ void RunShootWhileMove();
+ void EndShootWhileMove();
+ void SuspendMoveAndShoot( float flDuration );
+ bool IsSuspended() { return m_flSuspendUntilTime > gpGlobals->curtime; }
+
+ void SetInitialDelay( float delay );
+
+ bool IsMovingAndShooting( void ) const { return m_bMovingAndShooting; }
+
+private:
+
+ bool HasAvailableRangeAttack();
+ bool CanAimAtEnemy();
+ void UpdateMoveShootActivity( bool bMoveAimAtEnemy );
+
+ bool m_bMovingAndShooting;
+ bool m_bNoShootWhileMove;
+ float m_initialDelay;
+ float m_flSuspendUntilTime;
+
+ DECLARE_SIMPLE_DATADESC();
+};
+
+//-----------------------------------------------------------------------------
+
+#endif // AI_MOVESHOOT_H
|