Class XPath Extends ABPath

Public

Extended Path.

This is the same as a standard path but it is possible to customize when the target should be considered reached. Can be used to for example signal a path as complete when it is within a specific distance from the target.

Note

More customizations does make it slower to calculate than an ABPath but not by very much.

A* Pro Feature:

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

Deprecated

Use an ABPath with the ABPath.endingCondition field instead.

Public Static Methods

Construct (start, end, callback=null)
Public Static

Inherited Public Members

BlockUntilCalculated ()

Blocks until this path has been calculated and returned.

Public
CanTraverse (node)

Returns if the node can be traversed.

Public
CanTraverse (from, to)

Returns if the path can traverse a link between from and to and if to can be traversed itself.

Public
Claim (o)

Increase the reference count on this path by 1 (for pooling).

Public
CompleteState

Current state of the path.

Public
Construct (start, end, callback=null)

Construct a path with a start and end point.

Public Static
Error ()

Aborts the path because of an error.

Public
FailWithError (msg)

Causes the path to fail and sets errorLog to msg.

Public
FakePath (vectorPath, nodePath=null)

Creates a fake path.

Public Static
GetTagPenalty (tag)

Returns penalty for the given tag.

Public
GetTotalLength ()

Total Length of the path.

Public
GetTraversalCost (node)

Returns the cost of traversing the given node.

Public
IsDone ()

True if this path is done calculating.

Public
MarkerOpenCandidateConnectionsToEnd
Public Static Readonly
MarkerTrace
Public Static Readonly
OnVisitNode (pathNode, hScore, gScore)

Called for every node that the path visits.

Public
OpenCandidateConnection (parentPathNode, targetPathNode, parentG, connectionCost, fractionAlongEdge, targetNodePosition)

Opens a connection between two nodes during the A* search.

Public
OpenCandidateConnectionBurst (pars, heap, heuristicObjective)

Burst-compiled internal implementation of OpenCandidateConnection.

Public Static
OpenCandidateConnectionsToEndNode (position, parentPathNode, parentNodeIndex, parentG)

Open a connection to the temporary end node if necessary.

Public
PipelineState

Returns the state of the path in the pathfinding pipeline.

Public
Release (o, silent=…)

Reduces the reference count on the path by 1 (pooling).

Public
ShouldConsiderPathNode (pathNodeIndex)

True if this path node might be worth exploring.

Public
UseSettings (settings)

Copies the given settings into this path.

Public
WaitForPath ()

Waits until this path has been calculated and returned.

Public
calculatePartial

Calculate partial path if the target node cannot be reached.

Public
callback

Callback to call when the path is complete.

Public
cost

Total cost of this path as used by the pathfinding algorithm.

Public
duration

How long it took to calculate this path in milliseconds.

Public
enabledTags

Which graph tags are traversable.

Public
endNode

End node of the path.

Public
endPoint

End point of the path.

Public
endPointKnownBeforeCalculation

True if this path type has a well defined end point, even before calculation starts.

Public
endingCondition

Optional ending condition for the path.

Public
error

If the path failed, this is true.

Public
errorLog

Additional info on why a path failed.

Public
heuristic

Determines which heuristic to use.

Public
heuristicScale

Scale of the heuristic values.

Public
immediateCallback

Immediate callback to call when the path is complete.

Public
nnConstraint

Constraint for how to search for nodes.

Public
originalEndPoint

End Point exactly as in the path request.

Public
originalStartPoint

Start Point exactly as in the path request.

Public
path

Holds the path as a GraphNode list.

Public
pathID

ID of this path.

Public
searchedNodes

Number of nodes this path has searched.

Public
startNode

Start node of the path.

Public
startPoint

Start point of the path.

Public
tagPenalties

Penalties for each tag.

Public
traversalProvider

Provides additional traversal information to a path request.

Public
vectorPath

Holds the (possibly post-processed) path as a Vector3 list.

Public

Private/Protected Members

AddStartNodesToHeap ()
Protected
CalculateStep (targetTick)

Calculates the path until completed or until the time has passed targetTick.

Protected
Cleanup ()

Always called after the path has been calculated.

Protected
DebugString (logMode)

Returns a debug string for this path.

Protected
DebugStringPrefix (logMode, text)

Writes text shared for all overrides of DebugString to the string builder.

Protected
DebugStringSuffix (logMode, text)

Writes text shared for all overrides of DebugString to the string builder.

Protected
EndPointGridGraphSpecialCase (closestWalkableEndNode, originalEndPoint, targetIndex)

Applies a special case for grid nodes.

Protected
FirstTemporaryEndNode ()
Protected
MarkNodesAdjacentToTemporaryEndNodes ()
Protected
OnEnterPool ()

Called when the path enters the pool.

Protected
OnFoundEndNode (pathNode, hScore, gScore)

Called when a valid node has been found for the end of the path.

Protected
OnHeapExhausted ()

Called when there are no more nodes to search.

Protected
Prepare ()

Prepares the path.

Protected
PrepareBase (pathHandler)

Prepares low level path variables for calculation.

Protected
Reset ()

Reset all values to their default values.

Protected
ReturnPath ()

Calls callback to return the calculated path.

Protected
Setup (start, end, callbackDelegate)
Protected
TemporaryEndNodesBoundingBox (mn, mx)
Protected
Trace (fromPathNodeIndex)

Traces the calculated path from the end node to the start.

Protected
UpdateStartEnd (start, end)

Sets the start and end points.

Protected
ZeroTagPenalties

List of zeroes to use as default tag penalties.

Internal Static Readonly
completeState

Backing field for CompleteState.

Protected
hTargetNode

Target to use for H score calculation.

Protected
hasBeenReset

True if the Reset function has been called.

Protected
hasEndPoint

Determines if a search for an end node should be done.

Protected
heuristicObjective

Target to use for H score calculations.

Protected
heuristicObjectiveInternal
Internal
internalTagPenalties

The tag penalties that are actually used.

Protected
partialBestTargetGScore
Protected
partialBestTargetHScore
Protected
partialBestTargetPathNodeIndex

Current best target for the partial path.

Protected
pathHandler

Data for the thread calculating this path.

Protected