Beispiel #1
0
 private void AddTransition(string pattern, IState next)
 {
     _tos[next.GetName()] = next;
     _transitions.Add(StateTransition.CreateStateTransition(_currentState, pattern, next.GetName()));
     if (_transitions.Count == 1)
     {
         _transitions.Add(StateTransition.CreateEndStateTransition(_failedState));
         _transitions.Add(StateTransition.CreateEndStateTransition(_completedState));
         _transitions.Add(StateTransition.CreateEndStateTransition(_stoppedState));
     }
     if (next.IsEndState())
     {
         _transitions.Add(StateTransition.CreateEndStateTransition(next));
     }
     _dirty = true;
 }