@@ -28,32 +28,36 @@ static void Method4(State state, Dictionary<string, object> parameters)
2828
2929 static void Main ( string [ ] args )
3030 {
31- var loggerFactory = LoggerFactory . Create ( builder => { builder . AddConsole ( ) . AddDebug ( ) . SetMinimumLevel ( LogLevel . Debug ) ; } ) ;
32- var logger = loggerFactory . CreateLogger < StateMachine > ( ) ;
33- StateMachine stateMachine = new StateMachine ( logger ) ;
31+ StateMachine stateMachine = new StateMachine ( ) ;
3432
33+ //Add states
3534 State state1 = stateMachine . AddState ( "State1" ) ;
3635 State state2 = stateMachine . AddState ( "State2" ) ;
3736 State state3 = stateMachine . AddState ( "State3" ) ;
3837 State state4 = stateMachine . AddState ( "State4" ) ;
3938
40- Transition transition1 = state1 . AddTransitionFromThis ( "Transition1" , state2 ) ;
39+ //Add transitions three ways:
40+
41+ //Standart way
4142 Transition transition2 = stateMachine . AddTransition ( "Transition2" , state2 , state3 ) ;
42- Transition transition3 = state4 . AddTransitionToThis ( "Transition3" , state3 ) ;
4343
44- state1 . SetAsStartState ( ) ;
44+ //From state
45+ Transition transition1 = state1 . AddTransitionFromThis ( "Transition1" , state2 ) ;
46+
47+ //To state
48+ Transition transition3 = state4 . AddTransitionToThis ( "Transition3" , state3 ) ;
49+
50+ //Add action on entry or/and exit
4551 state1 . OnExit ( Method1 ) ;
46- state2 . OnExit ( Method2 ) ;
52+ state2 . OnEntry ( Method2 ) ;
4753 state3 . OnExit ( Method3 ) ;
4854 state4 . OnExit ( Method4 ) ;
4955
50- stateMachine . AddData ( "int1" , 55 ) ;
51- stateMachine . AddData ( "string1" , "Roman" ) ;
52- stateMachine . AddData ( "double1" , 1001.0005 ) ;
56+ //Set start set
57+ state1 . SetAsStartState ( ) ;
5358
59+ //Start work
5460 stateMachine . Start ( parametersForStart ) ;
55-
56- stateMachine . ToXDocument ( "text.xml" ) ;
5761 }
5862 }
5963}
0 commit comments