Esempio n. 1
0
        /// <summary>
        /// Transition to another step
        /// </summary>
        public void Transition(PipExecutionStep toStep, bool force = false)
        {
            if (!force && !Step.CanTransitionTo(toStep))
            {
                Contract.Assert(false, I($"Cannot transition from {Step} to {toStep}"));
            }

            Step = toStep;

            if (toStep == PipExecutionStep.Done)
            {
                End();
            }
        }