private PipelineStatusArgs GetStatusArgs(IInitStep step) { return(new PipelineStatusArgs { CompletedStepName = step.Name, CompletedSteps = _completedSteps.Count, TotalSteps = _dependencyGraph.Size }); }
private IEnumerator RunStep(IInitStep step) { yield return(_runner.RunInCoroutine(step.Execute())); MarkComplete(step); var nextSteps = _dependencyGraph.GetDependents(step); RunSteps(nextSteps); }
private bool IsReadyToExecute(IInitStep step) { var dependencies = _dependencyGraph.GetDependencies(step); return(dependencies.All(dep => _completedSteps.Contains(dep))); }
private void MarkComplete(IInitStep step) { _completedSteps.Add(step); OnStepCompleted?.Invoke(this, GetStatusArgs(step)); }