public Signal <TState, TTransition, TSignal> TransitionWhen <T>( Transition <TState, TTransition, TSignal> transition) where T : ISignalCondition, new() { this.Machine.CreateTransitionCondition(this, transition, new T()); return(this); }
public Signal <TState, TTransition, TSignal> TransitionWhen( Transition <TState, TTransition, TSignal> transition, ISignalCondition condition) { this.Machine.CreateTransitionCondition(this, transition, condition); return(this); }
public Signal <TState, TTransition, TSignal> TransitionWhen( Transition <TState, TTransition, TSignal> transition, Predicate <ISignal> condition) { this.Machine.CreateTransitionCondition(this, transition, new ParamSignalCondition(condition)); return(this); }
public Signal <TState, TTransition, TSignal> TransitionWhen( Transition <TState, TTransition, TSignal> transition, params State <TState, TTransition, TSignal>[] conditionalStates) { this.Machine.CreateTransitionCondition(this, transition, conditionalStates); return(this); }
public Signal <TState, TTransition, TSignal> TransitionWhen( Transition <TState, TTransition, TSignal> transition, Func <bool> condition) { this.Machine.CreateTransitionCondition(this, transition, new SignalCondition(condition)); return(this); }