Files
DoomRTX/neo/doom3/game/ai/NAVCallback_AvoidLocation.h
T
2026-05-22 22:26:19 -07:00

42 lines
1.2 KiB
C++

// Copyright (C) 2007 Id Software, Inc.
//
#ifndef __NAVCALLBACK_AVOIDLOCATION_H__
#define __NAVCALLBACK_AVOIDLOCATION_H__
/*
===============================================================================
idNAVCallback_AvoidLocation
===============================================================================
*/
struct idNAVObstacle
{
idBounds absBounds; // absolute bounds of obstacle
mutable idBounds expAbsBounds; // expanded absolute bounds of obstacle
};
class idNAVCallback_AvoidLocation : public idNAVCallback
{
public:
idNAVCallback_AvoidLocation();
~idNAVCallback_AvoidLocation();
void SetAvoidLocation( const idVec3& start, const idVec3& avoidLocation );
void SetObstacles( const idNAV* aas, const idNAVObstacle* obstacles, int numObstacles );
virtual bool PathValid( const idNAV* aas, const idVec3& start, const idVec3& end );
virtual int AdditionalTravelTimeForPath( const idNAV* aas, const idVec3& start, const idVec3& end );
virtual bool AreaIsGoal( const idNAV* aas, int areaNum ) = 0;
private:
idVec3 avoidLocation;
float avoidDist;
const idNAVObstacle* obstacles;
int numObstacles;
};
#endif /* !__NAVCALLBACK_AVOIDLOCATION_H__ */