private static IEnumerator WaitAndClearTasks(Disposable <List <PTTask> > tasks) { var counter = 0; while (counter++ < 20) { yield return(new WaitForEndOfFrame()); } foreach (var task in tasks.Value) { ParallelTasker.RemoveTask(task.EndTime, task); } tasks.Dispose(); }
private void Start() { Load(); Controller = new PTController(); #if DEBUG_SYNCHRONIZATION Disposable <List <PTTask> > tasks = ListPool <PTTask> .Instance.BorrowDisposable(); foreach (var group in PTUtils.GetAllTimePairs()) { var task = new SimpleTask(group, group); tasks.Value.Add(ParallelTasker.AddTask(group, group, task.OnInitialize, task.Execute, task.OnFinalize)); } StartCoroutine(WaitAndClearTasks(tasks)); #endif }