A* Pathfinding Project
4.1.9
The A* Pathfinding Project for Unity 3D
|
Handles thread specific path data. More...
Handles thread specific path data.
Public Member Functions | |
PathHandler (int threadID, int totalThreadCount) | |
void | ClearPathIDs () |
Set all nodes' pathIDs to 0. More... | |
virtual void | DestroyNode (GraphNode node) |
Internal method to clean up node data. More... | |
virtual void | GetAllPathNodes (GraphNode node, System.Action< PathNode > action) |
Calls a delegate with all path nodes associated with the specified node. More... | |
virtual PathNode | GetPathNode (int nodeIndex) |
Path node associated with the specified node. More... | |
virtual PathNode | GetPathNode (GraphNode node) |
Returns the PathNode corresponding to the specified node. More... | |
void | InitializeForPath (Path p) |
virtual void | InitializeNode (GraphNode node) |
Internal method to initialize node data. More... | |
Public Attributes | |
readonly System.Text.StringBuilder | DebugStringBuilder = new System.Text.StringBuilder() |
StringBuilder that paths can use to build debug strings. More... | |
readonly BinaryHeap | heap = new BinaryHeap(128) |
Binary heap to keep track of nodes on the "Open list". More... | |
PathNode [] | nodes = new PathNode[0] |
Array of all PathNodes. More... | |
readonly int | threadID |
readonly int | totalThreadCount |
Properties | |
ushort | PathID [get, private set] |
ID for the path currently being calculated or last path that was calculated. More... | |
PathHandler | ( | int | threadID, |
int | totalThreadCount | ||
) |
void ClearPathIDs | ( | ) |
Set all nodes' pathIDs to 0.
|
virtual |
Internal method to clean up node data.
Reimplemented in CooperativePathHandler.
Calls a delegate with all path nodes associated with the specified node.
The default path handler only has one PathNode per GraphNode, but other path handlers may have more (e.g the CooperativePathHandler)
Reimplemented in CooperativePathHandler.
|
virtual |
Path node associated with the specified node.
The default path handler only has one PathNode per GraphNode, but other path handlers may have more (e.g the CooperativePathHandler).
The PathNode is specific to this PathHandler since multiple PathHandlers are used at the same time if multithreading is enabled.
Reimplemented in CooperativePathHandler.
Returns the PathNode corresponding to the specified node.
The PathNode is specific to this PathHandler since multiple PathHandlers are used at the same time if multithreading is enabled.
Reimplemented in CooperativePathHandler.
void InitializeForPath | ( | Path | p | ) |
|
virtual |
Internal method to initialize node data.
Reimplemented in CooperativePathHandler.
readonly System.Text.StringBuilder DebugStringBuilder = new System.Text.StringBuilder() |
StringBuilder that paths can use to build debug strings.
Better for performance and memory usage to use a single StringBuilder instead of each path creating its own
readonly BinaryHeap heap = new BinaryHeap(128) |
Binary heap to keep track of nodes on the "Open list".
readonly int threadID |
readonly int totalThreadCount |
|
getprivate set |
ID for the path currently being calculated or last path that was calculated.