protected override IEnumerator Execution() { SetStatus(TaskStatus.InProgress); //Debug.Log("Starting task " + Name); if (!CheckPreConditions()) { SetStatus(TaskStatus.Failure); yield break; } taskAction.Invoke(); while (Status != TaskStatus.Complete) { if (!CheckTaskIntegrity()) { SetStatus(TaskStatus.Failure); yield break; } if (CheckEndTask()) { SetStatus(TaskStatus.Complete); //Debug.Log(Name + " Complete"); } yield return(null); } }
private void OnTaskDone(bool param) { TaskOpen = false; TaskAction?.Invoke(param); RaiseCanExecuteChanged(); }