Skip to content

Commit 1e9f109

Browse files
Update README.md
1 parent 50c0694 commit 1e9f109

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

README.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,48 @@
11
# SimpleStateMachineLibrary
22
A C# library for realization simple state-machine
3+
4+
Example:
5+
--------
6+
7+
**Structure**
8+
```C#
9+
10+
StateMachine stateMachine = new StateMachine();
11+
12+
State state1 = stateMachine.AddState("State1");
13+
State state2 = stateMachine.AddState("State2");
14+
State state3 = stateMachine.AddState("State3");
15+
State state4 = stateMachine.AddState("State4");
16+
17+
Transition transition1 = state1.AddTransitionFromThis("Transition1", state2);
18+
Transition transition2 = stateMachine.AddTransition("Transition2", state2, state3);
19+
Transition transition3 = state4.AddTransitionToThis("Transition3", state3);
20+
21+
state1.SetAsStartState();
22+
state1.OnExit(Method1);
23+
state2.OnExit(Method2);
24+
state3.OnExit(Method3);
25+
state4.OnExit(Method4);
26+
```
27+
**Example methods**
28+
```C#
29+
static void Method1(State state, Dictionary<string, object> parameters)
30+
{
31+
state.StateMachine.InvokeTransition("Transition1");
32+
}
33+
34+
static void Method2(State state, Dictionary<string, object> parameters)
35+
{
36+
state.StateMachine.InvokeTransition("Transition2");
37+
}
38+
39+
static void Method3(State state, Dictionary<string, object> parameters)
40+
{
41+
state.StateMachine.InvokeTransition("Transition3");
42+
}
43+
44+
static void Method4(State state, Dictionary<string, object> parameters)
45+
{
46+
47+
}
48+
```

0 commit comments

Comments
 (0)