public Edge(PicoFSM.State state, Func<PicoFSM.State, bool> condition, Action<PicoFSM.State> callback) { this.State = state; this.Condition = condition; this.Callback = callback; }
public Machine TransitionToWhen(PicoFSM.State state, Func<PicoFSM.State, bool> condition) { Edges.Add(new Edge(state, condition, null)); return this; }
public Machine TransitionToWhenThen(PicoFSM.State state, Func<PicoFSM.State, bool> condition, Action<PicoFSM.State> callback) { Edges.Add(new Edge(state, condition, callback)); return this; }
public void TransitionTo(PicoFSM.State next) { if (next != null && next != nextState) { nextState = next; } }