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
Default constructor.
Public Static Methods
Public Variables
Callbacks to call for each individual path.
The closest target index (if any target was found)
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
Blocks until this path has been calculated and returned.
Returns if the node can be traversed.
Returns if the path can traverse a link between from and to and if to can be traversed itself.
Increase the reference count on this path by 1 (for pooling).
Current state of the path.
Construct a path with a start and end point.
Aborts the path because of an error.
Creates a fake path.
Returns penalty for the given tag.
Total Length of the path.
Returns the cost of traversing the given node.
True if this path is done calculating.
Called for every node that the path visits.
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.
Reduces the reference count on the path by 1 (pooling).
True if this path node might be worth exploring.
Copies the given settings into this path.
Waits until this path has been calculated and returned.
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.
Set chosenTarget to the index of the shortest path.
Always called after the path has been calculated.
Returns a debug string for this path.
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 the path enters the pool.
Called when a valid node has been found for the end of the path.
Called when there are no more nodes to search.
Prepares the path.
Prepares low level path variables for calculation.
Reset all values to their default values.
Calls callback to return the calculated path.
Traces the calculated path from the end node to the start.
Sets the start and end points.
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.