IAIPathAgent

C++
struct IAIPathAgent {
};
File

IPathfinder.h

Description

Intermediary and minimal interface to use the pathfinder without requiring an AI object

Todo

Fix the long function names. At the moment they collide with IAIObject base. The alternative would be to make IAIObject derive from IAIPathAgent.

IAIPathAgent::~IAIPathAgent Destructor
C++
virtual ~IAIPathAgent();
IAIPathAgent::CanTargetPointBeReached Method
C++
virtual ETriState CanTargetPointBeReached(CTargetPointRequest& request) = 0;
Description

Can path be modified to use request.targetPoint? Results are cacheded in request.

IAIPathAgent::GetPathAgentEntity Method
C++
virtual IEntity * GetPathAgentEntity() const = 0;
IAIPathAgent::GetPathAgentLastNavNode Method
C++
virtual unsigned int GetPathAgentLastNavNode() const = 0;
Description

TODO(marcio): Remove this from the interface Most of it could be stored in the path request, except that it gets set at the start of the path request and it's used everywhere in the AISystem.

IAIPathAgent::GetPathAgentMovementAbility Method
C++
virtual const AgentMovementAbility & GetPathAgentMovementAbility() const = 0;
IAIPathAgent::GetPathAgentName Method
C++
virtual const char * GetPathAgentName() const = 0;
IAIPathAgent::GetPathAgentNavigationBlockers Method
C++
virtual void GetPathAgentNavigationBlockers(NavigationBlockers & blockers, const PathfindRequest * pRequest) = 0;
Description

This cannot easily be const, but has no side-effects

IAIPathAgent::GetPathAgentPassRadius Method
C++
virtual float GetPathAgentPassRadius() const = 0;
IAIPathAgent::GetPathAgentPos Method
C++
virtual Vec3 GetPathAgentPos() const = 0;
IAIPathAgent::GetPathAgentType Method
C++
virtual unsigned short GetPathAgentType() const = 0;
IAIPathAgent::GetPathAgentVelocity Method
C++
virtual Vec3 GetPathAgentVelocity() const = 0;
IAIPathAgent::GetPathFollower Method
C++
virtual class IPathFollower* GetPathFollower() const = 0;
IAIPathAgent::GetTeleportPosition Method
C++
virtual bool GetTeleportPosition(Vec3& teleportPos) const = 0;
IAIPathAgent::GetValidPositionNearby Method
C++
virtual bool GetValidPositionNearby(const Vec3& proposedPosition, Vec3& adjustedPosition) const = 0;
IAIPathAgent::PathEvent Method
C++
virtual void PathEvent(SAIEVENT * pEvent) = 0;
IAIPathAgent::SetPathAgentLastNavNode Method
C++
virtual void SetPathAgentLastNavNode(unsigned int lastNavNode) = 0;
IAIPathAgent::SetPathAttributeToFollow Method
C++
virtual void SetPathAttributeToFollow(bool bSpline) = 0;
IAIPathAgent::SetPathToFollow Method
C++
virtual void SetPathToFollow(const char* pathName) = 0;
IAIPathAgent::SetPFBlockerRadius Method
C++
virtual void SetPFBlockerRadius(int blockerType, float radius) = 0;
Description

Path finding avoids blocker type by radius.

IAIPathAgent::UseTargetPointRequest Method
C++
virtual bool UseTargetPointRequest(const CTargetPointRequest& request) = 0;
Description

??