Class Path Extends IPathInternals

Public Abstract

Base class for all path types.

Inner Types

Parameters to OpenCandidateConnectionBurst.

Public Methods

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
Error ()

Aborts the path because of an error.

Public
FailWithError (msg)

Causes the path to fail and sets errorLog to msg.

Public
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
OpenCandidateConnection (parentPathNode, targetPathNode, parentG, connectionCost, fractionAlongEdge, targetNodePosition)

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

Public
OpenCandidateConnectionsToEndNode (position, parentPathNode, parentNodeIndex, parentG)

Open a connection to the temporary end node if necessary.

Public
Release (o, silent=…)

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

Public
ShouldConsiderPathNode (pathNodeIndex)
Public
WaitForPath ()

Waits until this path has been calculated and returned.

Public

Public Static Methods

OpenCandidateConnectionBurst (pars, heap, heuristicObjective)

Burst-compiled internal implementation of OpenCandidateConnection.

Public Static

Public Variables

CompleteState

Current state of the path.

Public
FloodingPath

True for paths that want to search all nodes and not jump over nodes as optimizations.

Public
PipelineState

Returns the state of the path in the pathfinding pipeline.

Public
callback

Callback to call when the path is complete.

Public
duration

How long it took to calculate this path in milliseconds.

Public
enabledTags

Which graph tags are traversable.

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
path

Holds the path as a GraphNode list.

Public
pathID

ID of this path.

Public
searchedNodes

Number of nodes this path has searched.

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

Public Static Variables

MarkerNoop1
Public Static Readonly
MarkerNoop2
Public Static Readonly
MarkerOpen
Public Static Readonly
MarkerOpenCandidateConnections
Public Static Readonly
MarkerOpenCandidateConnections1
Public Static Readonly
MarkerOpenCandidateConnections2
Public Static Readonly
MarkerOpenCandidateConnections3
Public Static Readonly
MarkerOpenCandidateConnectionsToEnd
Public Static Readonly
MarkerPopHeap
Public Static Readonly
MarkerTrace
Public Static Readonly

Private/Protected Members

AddStartNodesToHeap ()
Protected
AdvanceState (s)

Threadsafe increment of the state.

Private
CalculateStep (targetTick)
Private
CalculateStep (targetTick)

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

Protected
Cleanup ()
Private
Cleanup ()

Always called after the path has been calculated.

Protected
DebugString (logMode)
Private
DebugString (logMode)

Returns a string with information about it.

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
ErrorCheck ()

Performs some error checking.

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

Called when the path enters the pool.

Protected
OnFoundEndNode (pathNode, hScore, gScore)
Protected Abstract
OnHeapExhausted ()
Protected Abstract
OnVisitNode (pathNode, hScore, gScore)
Protected
PathHandler
Private
Pooled

True if the path is currently pooled.

Private
Prepare ()
Private
Prepare ()

Called before the path is started.

Protected Abstract
PrepareBase (handler)
Private
PrepareBase (pathHandler)

Prepares low level path variables for calculation.

Protected
Reset ()
Private
Reset ()

Reset all values to their default values.

Protected
ReturnPath ()
Private
ReturnPath ()

Calls callback to return the calculated path.

Protected
TemporaryEndNodesBoundingBox (mn, mx)
Protected
Trace (fromPathNodeIndex)

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

Protected
ZeroTagPenalties

List of zeroes to use as default tag penalties.

Internal Static Readonly
claimed

List of claims on this path with reference objects.

Private
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
heuristicObjective

Target to use for H score calculations.

Internal
internalTagPenalties

The tag penalties that are actually used.

Protected
manualTagPenalties

Tag penalties set by other scripts.

Protected
next

Internal linked list implementation.

Internal
pathHandler

Data for the thread calculating this path.

Protected
releasedNotSilent

True if the path has been released with a non-silent call yet.

Private
stateLock
Private

Deprecated Members

GetState ()

State of the path in the pathfinding pipeline.

Public
Log (msg)

Appends a message to the errorLog.

Protected
LogError (msg)

Logs an error.

Protected
ReleaseSilent (o)

Reduces the reference count on the path silently (for pooling).

Internal