public void RepeatTaskBasic() { JTaskManager.ClearAllTask(); int runningCount = 0; int frameCount = 0; JBaseTask simpleTask = new JSimpleTask(() => { runningCount++; Console.WriteLine("Interval Doing: " + runningCount + " Frame:" + frameCount); }); JBaseTask repeatTask = new JRepeatTask(simpleTask, 1); JTaskManager.AddTask(repeatTask); Console.WriteLine("start"); while (!JTaskManager.IsAllDone()) { frameCount++; Console.WriteLine(".."); JTaskManager.Update(0.1f); if (runningCount >= 2) { JTaskManager.RemoveTask(repeatTask._ticket); } } //Console.WriteLine(repeatTask.Status); //Console.WriteLine(frameCount); Assert.AreEqual(runningCount, 2); Assert.AreEqual(frameCount, 22); }
public void SimpleTaskWithDelayCancel() { JTaskManager.ClearAllTask(); JBaseTask scheduleTask = new JSimpleTask(() => { Console.WriteLine("After 1sec"); }, 1); JTaskManager.AddTask(scheduleTask); int count = 0; Console.WriteLine("start"); while (!JTaskManager.IsAllDone()) { count++; Console.WriteLine(".."); JTaskManager.Update(0.1f); if (count == 5) { JTaskManager.RemoveTask(scheduleTask._ticket); } } Assert.AreEqual(scheduleTask.Status, ETaskStatus.Processing); Assert.AreEqual(count, 5); }