Class MultiTargetPath Extends ABPath
A path which searches from one point to a number of different targets in one search or from a number of different start points to a single target.
This is faster than searching with an ABPath for each target if pathsForAll is true. This path type can be used for example when you want an agent to find the closest target of a few different options.
When pathsForAll is true, it will calculate a path to each target point, but it can share a lot of calculations for the different paths so it is faster than requesting them separately.
When pathsForAll is false, it will perform a search using the heuristic set to None and stop as soon as it finds the first target. This may be faster or slower than requesting each path separately. It will run a Dijkstra search where it searches all nodes around the start point until the closest target is found. Note that this is usually faster if some target points are very close to the start point and some are very far away, but it can be slower if all target points are relatively far away because then it will have to search a much larger region since it will not use any heuristics.
This is an A* Pathfinding Project Pro feature only. This function/class/variable might not exist in the Free version of the A* Pathfinding Project or the functionality might be limited.
The Pro version can be bought here
Since 3.7.1 the vectorPath and path fields are always set to the shortest path even when pathsForAll is true.
Public Methods
Public Variables
Callbacks to call for each individual path.
The closest target index (if any target was found)
True if this path type has a well defined end point, even before calculation starts.
False if the path goes from one point to multiple targets.
Stores all paths to the targets.
Target points specified when creating the path.
If true, a path to all targets will be returned, otherwise just the one to the closest one.
The cost of the calculated path for each target.
Target points specified when creating the path.
Indicates if the target has been found.
Stores all vector paths to the targets.
Inherited Public Members
Current state of the path.
Opens a connection between two nodes during the A* search.
Burst-compiled internal implementation of OpenCandidateConnection.
Open a connection to the temporary end node if necessary.
Returns the state of the path in the pathfinding pipeline.
Paths use this to skip adding nodes to the search heap.
Calculate partial path if the target node cannot be reached.
Callback to call when the path is complete.
Total cost of this path as used by the pathfinding algorithm.
How long it took to calculate this path in milliseconds.
Which graph tags are traversable.
End node of the path.
End point of the path.
True if this path type has a well defined end point, even before calculation starts.
Optional ending condition for the path.
If the path failed, this is true.
Additional info on why a path failed.
Determines which heuristic to use.
Scale of the heuristic values.
Immediate callback to call when the path is complete.
Constraint for how to search for nodes.
End Point exactly as in the path request.
Start Point exactly as in the path request.
ID of this path.
Number of nodes this path has searched.
Start node of the path.
Start point of the path.
Penalties for each tag.
Provides additional traversal information to a path request.
Holds the (possibly post-processed) path as a Vector3 list.
Private/Protected Members
Calculates the path until completed or until the time has passed targetTick.
Writes text shared for all overrides of DebugString to the string builder.
Writes text shared for all overrides of DebugString to the string builder.
Applies a special case for grid nodes.
Called when a valid node has been found for the end of the path.
List of zeroes to use as default tag penalties.
Target to use for H score calculation.
True if the Reset function has been called.
Determines if a search for an end node should be done.
Target to use for H score calculations.
The tag penalties that are actually used.
Current best target for the partial path.
Data for the thread calculating this path.
Number of target nodes left to find.