예제 #1
0
        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);
        }
예제 #2
0
파일: RepeatTask.cs 프로젝트: wwwK/Learning
        public void RepeatTaskLongRun()
        {
            JTaskManager.ClearAllTask();
            int runningCount = 0;
            int frameCount   = 0;

            JBaseTask simpleTask = new JSimpleTask(() =>
            {
                runningCount++;
                Console.WriteLine("Interval Doing: " + runningCount + " Frame:" + frameCount);
            }, 1);

            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)
                {
                    break;
                }
            }

            //Console.WriteLine(repeatTask.Status);
            //Console.WriteLine(frameCount);

            Assert.AreEqual(runningCount, 2);
            Assert.AreEqual(frameCount, 40);
        }
예제 #3
0
        public void SimpleTaskWithDelay()
        {
            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);
            }

            Assert.AreEqual(scheduleTask.Status, ETaskStatus.Done);
            Assert.AreEqual(count, 10);
        }