Calls 'Abort' on each of the threads.
void BlockUntilPathQueueBlocked |
( |
| ) |
|
Blocks until all pathfinding threads are paused and blocked.
A call to pathProcessor.queue.Unblock is required to resume pathfinding calculations. However in most cases you should never unblock the path queue, instead let the pathfinding scripts do that in the next update. Unblocking the queue when other tasks (e.g graph updates) are running can interfere and cause invalid graphs.
- Note
- In most cases this should not be called from user code.
Main pathfinding method.
This method will calculate the paths in the pathfinding queue.
- See Also
- CalculatePathsThreaded
-
StartPath
Main pathfinding method (multithreaded).
This method will calculate the paths in the pathfinding queue when multithreading is enabled.
- See Also
- CalculatePaths
-
StartPath
- 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
Destroyes the given node.
This is to be called after the node has been disconnected from the graph so that it cannot be reached from any other nodes. It should only be called during graph updates, that is when the pathfinding threads are either not running or paused.
- Warning
- This method should not be called by user code. It is used internally by the system.
Returns a new global node index.
- Warning
- This method should not be called directly. It is used by the GraphNode constructor.
Initializes temporary path data for a node.
- Warning
- This method should not be called directly. It is used by the GraphNode constructor.
Calls 'Join' on each of the threads to block until they have completed.
void TickNonMultithreaded |
( |
| ) |
|
Holds the next node index which has not been used by any previous node.
- See Also
- nodeIndexPool
readonly Stack<int> nodeIndexPool = new Stack<int>() |
|
private |
Holds indices for nodes that have been destroyed.
To avoid trashing a lot of memory structures when nodes are frequently deleted and created, node indices are reused.
IEnumerator threadCoroutine |
|
private |
When no multithreading is used, the IEnumerator is stored here.
When no multithreading is used, a coroutine is used instead. It is not directly called with StartCoroutine but a separate function has just a while loop which increments the main IEnumerator. This is done so other functions can step the thread forward at any time, without having to wait for Unity to update it.
- See Also
- CalculatePaths
-
CalculatePathsHandler
References to each of the pathfinding threads.
bool IsUsingMultithreading |
|
get |
Returns whether or not multithreading is used.
Number of parallel pathfinders.
Returns the number of concurrent processes which can calculate paths at once. When using multithreading, this will be the number of threads, if not using multithreading it is always 1 (since only 1 coroutine is used).
- See Also
- threadInfos
-
IsUsingMultithreading
System.Action<Path> OnPathPostSearch |
System.Action<Path> OnPathPreSearch |
The documentation for this class was generated from the following file:
- /Users/arong/Unity/a-pathfinding-project/Assets/AstarPathfindingProject/Core/Misc/PathProcessor.cs