示例#1
0
            private void AddSubTransition(SemanticTransition semanticTransition,
                                          OptimizedStateMachine.OptimizedTransition transition)
            {
                eventsForThisState.Add(semanticTransition.Event);
                var subTransition = new SubTransitionOptimizer(semanticTransition, currentState).Optimize();

                transition.Subtransitions.Add(subTransition);
            }
示例#2
0
 private void AddStateTransitions(OptimizedStateMachine.OptimizedTransition transition, State state)
 {
     foreach (var semanticTransition in state.Transitions)
     {
         if (EventExistsAndHasNotBeenOverridden(semanticTransition.Event))
         {
             AddSubTransition(semanticTransition, transition);
         }
     }
 }
示例#3
0
            public IEnumerable <OptimizedStateMachine.OptimizedTransition> AddTransitionsForState()
            {
                var transition = new OptimizedStateMachine.OptimizedTransition
                {
                    CurrentState = currentState.Name
                };

                AddSubTransitions(transition);
                transitions.Add(transition);
                return(transitions);
            }