private IEnumerator RunTask(IInitTask task) { yield return(runner.Run(task.Execute())); completed.Add(task); if (onTaskComplete != null) { onTaskComplete(task.GetName()); } var nextTasks = dg.GetDependents(task); RunTasks(nextTasks); }
public void Remove(IInitTask task) { _tasks.Remove(task); }
public void Add(IInitTask task) { _tasks.Add(task); }
private bool IsReadyToExecute(IInitTask task) { return(dg.GetDependencies(task).All(dep => completed.Contains(dep))); }