Пример #1
0
        public static FiniteStateMachineTransition <EventType> Generate(List <FiniteStateMachineState <EventType> > states, int start, int end, bool inverted, Type eventType, FiniteStateMachineTransitionCondition <EventType> .FiniteStateMachineTransitionConditionDelegate checkDelegate, FiniteStateMachineTransition <EventType> .TransitionFinishedDelegate finishedDelegate)
        {
            List <FiniteStateMachineTransitionCondition <EventType> > transitionConditionList = new List <FiniteStateMachineTransitionCondition <EventType> >();

            transitionConditionList.Add(new FiniteStateMachineTransitionCondition <EventType>()
            {
                EventTypeObject = eventType,
                CheckDelegate   = checkDelegate
            });
            FiniteStateMachineTransition <EventType> machineTransition1 = new FiniteStateMachineTransition <EventType>();

            machineTransition1.SourceState          = states[start];
            machineTransition1.TargetState          = states[end];
            machineTransition1.TransitionConditions = transitionConditionList;
            machineTransition1.Finished             = finishedDelegate;
            int num = inverted ? 1 : 0;

            machineTransition1.Inverted = num != 0;
            FiniteStateMachineTransition <EventType> machineTransition2 = machineTransition1;

            states[start].Outgoing.Add(machineTransition2);
            return(machineTransition2);
        }
Пример #2
0
 public static FiniteStateMachineTransition <EventType> Generate(List <FiniteStateMachineState <EventType> > states, int start, int end, Type eventType, FiniteStateMachineTransitionCondition <EventType> .FiniteStateMachineTransitionConditionDelegate checkDelegate, FiniteStateMachineTransition <EventType> .TransitionFinishedDelegate finishedDelegate)
 {
     return(FiniteStateMachineTransition <EventType> .Generate(states, start, end, false, eventType, checkDelegate, finishedDelegate));
 }