Beispiel #1
0
        private IEnumerable <INscNode> GetStateSwitchNodes(OptimizedStateMachine machine)
        {
            var query = from t in machine.Transitions
                        select new CaseNode("StateEnum", t.CurrentState, EventSwitch(t));

            return(query);
        }
Beispiel #2
0
 public INscNode Generate(OptimizedStateMachine machine)
 {
     return(new FsmNode
     {
         ClassName = machine.Header.Fsm,
         ActionsName = machine.Header.Actions,
         Events = new EnumNode("Event", machine.Events),
         States = new EnumNode("StateEnum", machine.States),
         Delegators = new EventDelegatorsNode(machine.Events),
         HandleEvent = new HandleEventNode(StateSwitch(machine)),
         Initial = new StatePropertyNode(machine.Header.Initial),
     });
 }
Beispiel #3
0
 private SwitchCaseNode StateSwitch(OptimizedStateMachine machine)
 {
     return(new SwitchCaseNode("State", GetStateSwitchNodes(machine)));
 }