// whether `s` or a step later in the order is currently executing // public bool IsStepActive(Step s) { if (StepProgression == null) { return(false); } else { return(StepProgression.IsStepActive(s)); } }
// whether `s` is currently running, including overlap // public bool IsStepRunning(Step s) { if (StepProgression == null) { return(false); } else { return(StepProgression.IsStepRunning(s)); } }
private void DeleteStepNoCallback(Step s) { s.Enabled = false; var i = steps_.IndexOf(s); steps_.Remove(s); StepProgression?.StepDeleted(i); s.Removed(); s.StepNameChanged -= OnStepNameChanged; }
public Step InsertStep(int at, Step s = null) { if (s == null) { s = new Step(); } steps_.Insert(at, s); StepProgression?.StepInserted(at, s); s.Added(); s.StepNameChanged += OnStepNameChanged; StepsChanged?.Invoke(); return(s); }
public void Set() { var current = CurrentStep; foreach (var s in steps_) { bool paused = false; if (StepProgression != null) { paused = !StepProgression.IsStepRunning(s); } s.Set(paused); } }
public void Tick(float deltaTime) { StepProgression?.Tick(deltaTime); }