示例#1
0
 // 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));
     }
 }
示例#2
0
 // whether `s` is currently running, including overlap
 //
 public bool IsStepRunning(Step s)
 {
     if (StepProgression == null)
     {
         return(false);
     }
     else
     {
         return(StepProgression.IsStepRunning(s));
     }
 }
示例#3
0
        private void DeleteStepNoCallback(Step s)
        {
            s.Enabled = false;

            var i = steps_.IndexOf(s);

            steps_.Remove(s);
            StepProgression?.StepDeleted(i);
            s.Removed();

            s.StepNameChanged -= OnStepNameChanged;
        }
示例#4
0
        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);
        }
示例#5
0
        public void Set()
        {
            var current = CurrentStep;

            foreach (var s in steps_)
            {
                bool paused = false;

                if (StepProgression != null)
                {
                    paused = !StepProgression.IsStepRunning(s);
                }

                s.Set(paused);
            }
        }
示例#6
0
 public void Tick(float deltaTime)
 {
     StepProgression?.Tick(deltaTime);
 }