Counter Strike : Global Offensive Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.4 KiB

  1. //========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //=============================================================================//
  7. #ifndef AI_BASENPC_FLYER_NEW_H
  8. #define AI_BASENPC_FLYER_NEW_H
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. #include "ai_basenpc.h"
  13. #include "ai_condition.h"
  14. enum BaseNPCFlyerConditions_t
  15. {
  16. COND_FLYER_MOVE_BLOCKED = LAST_SHARED_CONDITION,
  17. COND_FLYER_MOVE_IMPOSSIBLE,
  18. // ======================================
  19. // IMPORTANT: This must be the last enum
  20. // ======================================
  21. LAST_FLYER_SHARED_CONDITION
  22. };
  23. //-----------------------------------------------------------------------------
  24. // The combot.
  25. //-----------------------------------------------------------------------------
  26. class CAI_BaseNPCFlyerNew : public CAI_BaseNPC
  27. {
  28. DECLARE_CLASS( CAI_BaseNPCFlyerNew, CAI_BaseNPC );
  29. public:
  30. // DEFINE_CUSTOM_AI;
  31. virtual void StartTask( const Task_t *pTask );
  32. virtual void RunTask( const Task_t *pTask );
  33. virtual float GetIdealSpeed( ) const;
  34. virtual float MinGroundDist(void);
  35. CAI_BaseNPCFlyerNew();
  36. protected:
  37. // Call this to set up a flyer
  38. void SpawnFlyer();
  39. // Yarg! Must be chained down from leaf classes...
  40. void ClearFlyerConditions(void);
  41. // Override this when we had to abort movement
  42. virtual void AbortedMovement( void ) {}
  43. };
  44. #endif // AI_BASENPC_FLYER_NEW_H