Ejemplo n.º 1
0
        private IEnumerator TaskHandler(IUnitTask task)
        {
            yield return(task?.BeginTask());

            taskCoroutine = null;
            currentTask   = null;
        }
Ejemplo n.º 2
0
        private void InvokeFirstTask()
        {
            if (unitTasks.Count > 0)
            {
                IUnitTask unitTask = unitTasks[0];
                unitTasks.RemoveAt(0);

                InvokeTask(unitTask);
            }
        }
Ejemplo n.º 3
0
        public void AbordTask()
        {
            if (currentTask == null)
            {
                return;
            }

            currentTask.AbordTask();
            unit.StopCoroutine(taskCoroutine);
            currentTask = null;
        }
Ejemplo n.º 4
0
 private void InvokeTask(IUnitTask task)
 {
     currentTask   = task;
     taskCoroutine = unit.StartCoroutine(TaskHandler(task));
 }