private void TryProcessNext() { if (!processingPath && pathRequestQueue.Count > 0) { currentPathRequest = pathRequestQueue.Dequeue(); processingPath = true; pathfinding.StartFindPath(currentPathRequest.pathStart, currentPathRequest.pathEnd); } }
public static void RequestPath(Vector3 pathStart, Vector3 pathEnd, Action <Vector2[], bool> callback) { if (instance == null) { instance = FindObjectOfType <PathRequestManager>(); } PathRequest newRequest = new PathRequest(pathStart, pathEnd, callback); instance.pathRequestQueue.Enqueue(newRequest); instance.TryProcessNext(); }