private void TryApplay(StateConfiguration <TState, TTrigger> configuration, TTrigger trigger, object[] args) { if (configuration.Transitions.TryGetValue(trigger, out var transition)) { if (transition.Guard()) { State = transition.Target; } } }
public StateConfiguration <TState, TTrigger> WhenActive(TState state) { _configurations[state] = new StateConfiguration <TState, TTrigger>(state); return(_configurations[state]); }