A* Pathfinding Project
4.2.3
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... | |
void | DestroyNode (GraphNode node) |
Internal method to clean up node data. More... | |
PathNode | GetPathNode (int nodeIndex) |
PathNode | GetPathNode (GraphNode node) |
Returns the PathNode corresponding to the specified node. More... | |
void | InitializeForPath (Path p) |
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] |
ID for the path currently being calculated or last path that was calculated. More... | |
Private Attributes | |
ushort | pathID |
Current PathID. More... | |
PathHandler | ( | int | threadID, |
int | totalThreadCount | ||
) |
void ClearPathIDs | ( | ) |
Set all nodes' pathIDs to 0.
void DestroyNode | ( | GraphNode | node | ) |
Internal method to clean up node data.
PathNode GetPathNode | ( | int | nodeIndex | ) |
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.
void InitializeForPath | ( | Path | p | ) |
void InitializeNode | ( | GraphNode | node | ) |
Internal method to initialize node data.
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".
|
private |
Current PathID.
readonly int threadID |
readonly int totalThreadCount |
|
get |
ID for the path currently being calculated or last path that was calculated.