source-engine/game/server/ai_basenpc_flyer_new.h

59 lines
1.4 KiB
C
Raw Normal View History

2020-04-22 16:56:21 +00:00
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#ifndef AI_BASENPC_FLYER_NEW_H
#define AI_BASENPC_FLYER_NEW_H
#ifdef _WIN32
#pragma once
#endif
#include "ai_basenpc.h"
#include "ai_condition.h"
enum BaseNPCFlyerConditions_t
{
COND_FLYER_MOVE_BLOCKED = LAST_SHARED_CONDITION,
COND_FLYER_MOVE_IMPOSSIBLE,
// ======================================
// IMPORTANT: This must be the last enum
// ======================================
LAST_FLYER_SHARED_CONDITION
};
//-----------------------------------------------------------------------------
// The combot.
//-----------------------------------------------------------------------------
class CAI_BaseNPCFlyerNew : public CAI_BaseNPC
{
DECLARE_CLASS( CAI_BaseNPCFlyerNew, CAI_BaseNPC );
public:
// DEFINE_CUSTOM_AI;
virtual void StartTask( const Task_t *pTask );
virtual void RunTask( const Task_t *pTask );
virtual float GetIdealSpeed( ) const;
virtual float MinGroundDist(void);
CAI_BaseNPCFlyerNew();
protected:
// Call this to set up a flyer
void SpawnFlyer();
// Yarg! Must be chained down from leaf classes...
void ClearFlyerConditions(void);
// Override this when we had to abort movement
virtual void AbortedMovement( void ) {}
};
#endif // AI_BASENPC_FLYER_NEW_H