public static StateTransitionBase <T, TState, TTrigger> GetStateTransition(Async.IStateMachine <T, TState, TTrigger> stateMachine, TState toState, Func <T, CancellationToken, Task <bool> > conditionAsync, TState triggerState, string name, uint priority = 1) { return(new Async.StateTransitionAutoForward <T, TState, TTrigger>(stateMachine, triggerState, toState, conditionAsync, name, priority)); }
public static StateTransitionBase <T, TState, TTrigger> GetStateTransition <TRequest>(Async.IStateMachine <T, TState, TTrigger> stateMachine, TState startState, Func <T, TRequest, TState> stateFunction, TState triggerState, string name, uint priority = 1) where TRequest : class { return(new Async.StateTransitionAutoDynamicParameterized <T, TState, TTrigger, TRequest>(stateMachine, startState, stateFunction, triggerState, name, priority)); }
public static StateTransitionBase <T, TState, TTrigger> GetStateTransition(Async.IStateMachine <T, TState, TTrigger> stateMachine, TState startState, Func <T, TState> stateFunction, TState triggerState, string name, uint priority = 1) { return(new Async.StateTransitionAutoDynamic <T, TState, TTrigger>(stateMachine, startState, stateFunction, triggerState, name, priority)); }
public static StateTransitionBase <T, TState, TTrigger> GetStateTransition <TParam>(Async.IStateMachine <T, TState, TTrigger> stateMachine, TState startState, TState toState, Func <T, TParam, CancellationToken, Task <bool> > conditionAsync, TState triggerState, string name, uint priority = 1) where TParam : class { return(new Async.StateTransitionAutoFallbackParameterized <T, TState, TTrigger, TParam>(stateMachine, startState, toState, triggerState, conditionAsync, name, priority)); }
public static StateTransitionBase <T, TState, TTrigger> GetStateTransition <TRequest>(Async.IStateMachine <T, TState, TTrigger> stateMachine, Func <T, TRequest, TState> stateFuncAsync, string name, uint priority = 1) where TRequest : class { return(new StateTransitionDynamicParameterized <T, TState, TTrigger, TRequest>(stateMachine.StateAccessor, stateMachine.StateMutator, stateFuncAsync, name, priority)); }
public static StateTransitionBase <T, TState, TTrigger> GetStateTransition(Async.IStateMachine <T, TState, TTrigger> stateMachine, Func <T, TState> stateFunc, string name, uint priority = 1) { return(new StateTransitionDynamic <T, TState, TTrigger>(stateMachine.StateAccessor, stateMachine.StateMutator, stateFunc, name, priority)); }