Пример #1
0
        public static void Main(String[] Args)
        {
            var FSM1 = new FiniteStateMachine<State, Signal>("FSM1");

            FSM1.AddTransition(State.Start,  Signal.Hello, () => Console.WriteLine("Hello received!"), State.Middle);
            FSM1.AddTransition(State.Middle, Signal.World, () => Console.WriteLine("World received!"), State.End);

            Console.WriteLine(FSM1.CurrentState);

            FSM1.ProcessSignal(Signal.Hello);

            Console.WriteLine(FSM1.CurrentState);

            FSM1.ProcessSignal(Signal.GoToHell);

            Console.WriteLine(FSM1.CurrentState);

            FSM1.ProcessSignal(Signal.Hello);

            Console.WriteLine(FSM1.CurrentState);
        }