public static void RequestPath(Vector3 pathStart, Vector3 pathEnd, Action <Vector3[], Vector3, bool> callback) { OutdoorPathRequest newRequest = new OutdoorPathRequest(pathStart, pathEnd, callback); instance.pathRequestQueue.Enqueue(newRequest); instance.TryProcessNext(); }
void TryProcessNext() { if (!isProcessingPath && pathRequestQueue.Count > 0) { currentPathRequest = pathRequestQueue.Dequeue(); isProcessingPath = true; pathfinding = gameObject.GetComponent <OutdoorPathfinding>(); pathfinding.StartFindPath(currentPathRequest.pathStart, currentPathRequest.pathEnd); } }