struct PathfindRequest { enum ERequestType { TYPE_ACTOR, TYPE_RAW }; ERequestType type; unsigned startIndex; unsigned endIndex; Vec3 startPos; Vec3 startDir; Vec3 endPos; Vec3 endDir; bool bSuccess; IAIPathAgent * pRequester; int nForceTargetBuildingId; bool allowDangerousDestination; float endTol; float endDistance; bool isDirectional; bool bPathEndIsAsRequested; int id; IAISystem::tNavCapMask navCapMask; float passRadius; PathfindingExtraConstraints extraConstraints; };
IPathfinder.h
enum ERequestType { TYPE_ACTOR, TYPE_RAW };
IPathfinder.h
bool allowDangerousDestination;
bool bPathEndIsAsRequested;
This gets set to false if the path end position doesn't match the requested end position (e.g. in the event of a partial path, or if the destination is in forbidden)
bool bSuccess;
Vec3 endDir;
endDir magnitude indicates the tendency to line up at the end of the path - magnitude should be between 0 and 1
float endDistance;
unsigned endIndex;
Vec3 endPos;
float endTol;
PathfindingExtraConstraints extraConstraints;
int id;
bool isDirectional;
as a result of RequestPathInDirection or RequestPathTo
IAISystem::tNavCapMask navCapMask;
int nForceTargetBuildingId;
float passRadius;
IAIPathAgent * pRequester;
Vec3 startDir;
unsigned startIndex;
Vec3 startPos;
ERequestType type;
void GetMemoryUsage(ICrySizer * pSizer) const;
PathfindRequest(ERequestType type);
void Serialize(TSerialize ser);
Callable only inside the AISystem module. It's implemented there.