private IEnumerator ReDrawRoutes() { while (true) { RouteSet.HighLightAll(false); GizmosDrawer.Clear(); RouteSet.HighLightAll(true); yield return(new WaitForSeconds(2)); } }
public static IEnumerator CheckRoutes() { while (checking) { if (routes.Count > 0) { Timer timer = new Timer(); timer.Start(); for (int i = 0; i < routes.Count; i++) { Route route = routes[i]; int curr = 0, last = route.Count - 1; while (curr != last) { if (route[curr] == null) { Timer t = new Timer(); t.Start(); route.UpdateTempStartWP(); var newRoute = RouteCreator.CreatePathWP(route.startWP, route.endWP, !route.IsTemp); route.Set(newRoute); Debug.Log("<color=orange>Coroutine route " + route.RouteID + " recalculation:</color><color=green> " + t.ElapsedTime(Timer.Units.Milliseconds) + " ms.</color>"); break; //yield return null; } else { curr++; } } } Debug.Log("Coroutine routes recalculation:<color=green> " + timer.ElapsedTime(Timer.Units.Milliseconds) + " ms.</color>"); } HighLightAll(false); GizmosDrawer.Clear(); HighLightAll(true); yield return(new WaitUntil(() => { return Time.frameCount % 10 == 0; })); } }