Пример #1
0
        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);
        }
Пример #2
0
 /// <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;
 }
Пример #3
0
 /// <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;
 }