public void RunOnce(OnTransitionDelegate onTransition = null) { this.InitialContext.CurrentViolation = this.InitialContext.Target.Violation; this.WorkUnitQueue = new Queue <WorkUnit>(); this.IsSimulationComplete = (context) => { return(true); }; SimulationContext newContext = this.InitialContext.CloneCast(); WorkUnit unit = new WorkUnit() { Context = newContext }; this.OnTransition += onTransition; ProcessWorkUnit(unit); }
/// <summary> /// Initializes a new instance of the <see cref="FSMTransition"/> class. /// </summary> /// <param name='toState'> /// State to trnasition to. /// </param> /// <param name='delegateFunction'> /// Code to execute on transition. /// </param> public FSMTransition(FSMState toState, OnTransitionDelegate delegateFunction) { _toState = toState; _delegate = delegateFunction; }