public void AddEntryAction(Func <Transition, object[], Task> action, Reflection.InvocationInfo entryActionDescription) { EntryActions.Add( new EntryActionBehavior.Async( action, entryActionDescription)); }
public void AddExitAction(Func <Transition, Task> action, Reflection.InvocationInfo exitActionDescription) { ExitActions.Add(new ExitActionBehavior.Async(action, exitActionDescription)); }
public void AddActivateAction(Func <Task> action, Reflection.InvocationInfo activateActionDescription) { ActivateActions.Add(new ActivateActionBehaviour.Async(_state, action, activateActionDescription)); }
public void AddEntryAction(TTrigger trigger, Func <Transition, object[], Task> action, Reflection.InvocationInfo entryActionDescription) { if (action == null) { throw new ArgumentNullException(nameof(action)); } EntryActions.Add( new EntryActionBehavior.Async((t, args) => { if (t.Trigger.Equals(trigger)) { return(action(t, args)); } return(TaskResult.Done); }, entryActionDescription)); }
public Sync(TState state, Action action, Reflection.InvocationInfo actionDescription) : base(state, actionDescription) { _action = action; }
public void AddEntryAction(Action <Transition, object[]> action, Reflection.InvocationInfo entryActionDescription) { _entryActions.Add(new EntryActionBehavior.Sync(action, entryActionDescription)); }
protected EntryActionBehavior(Reflection.InvocationInfo description) { _description = description; }
public void AddExitAction(Action <Transition> action, Reflection.InvocationInfo exitActionDescription) { ExitActions.Add(new ExitActionBehavior.Sync(action, exitActionDescription)); }
public Sync(Action <Transition> action, Reflection.InvocationInfo actionDescription) : base(actionDescription) { _action = action; }
public Async(Func <Transition, Task> action, Reflection.InvocationInfo actionDescription) : base(actionDescription) { _action = action; }
protected ExitActionBehavior(Reflection.InvocationInfo actionDescription) { Description = actionDescription ?? throw new ArgumentNullException(nameof(actionDescription)); }
internal GuardCondition(Func <object[], bool> guard, Reflection.InvocationInfo description) { Guard = guard ?? throw new ArgumentNullException(nameof(guard)); _methodDescription = description ?? throw new ArgumentNullException(nameof(description)); }
/// <summary> /// Constructor that takes in a guard with no argument. /// This is needed because we wrap the no-arg guard with a lamba and therefore method description won't match what was origianlly passed in. /// We need to preserve the method description before wrapping so Reflection methods will work. /// </summary> /// <param name="guard">No Argument Guard Condition</param> /// <param name="description"></param> internal GuardCondition(Func <bool> guard, Reflection.InvocationInfo description) : this(args => guard(), description) { }
public void AddDeactivateAction(Action action, Reflection.InvocationInfo deactivateActionDescription) { DeactivateActions.Add(new DeactivateActionBehaviour.Sync(_state, action, deactivateActionDescription)); }
public Sync(Action <Transition, object[]> action, Reflection.InvocationInfo description) : base(description) { _action = action; }
public void AddEntryAction(TTrigger trigger, Action <Transition, object[]> action, Reflection.InvocationInfo entryActionDescription) { EntryActions.Add(new EntryActionBehavior.SyncFrom <TTrigger>(trigger, action, entryActionDescription)); }
public SyncFrom(TTriggerType trigger, Action <Transition, object[]> action, Reflection.InvocationInfo description) : base(action, description) { Trigger = trigger; }
protected DeactivateActionBehaviour(TState state, Reflection.InvocationInfo actionDescription) { _state = state; _actionDescription = actionDescription ?? throw new ArgumentNullException(nameof(actionDescription)); }
public Async(Func <Transition, object[], Task> action, Reflection.InvocationInfo description) : base(description) { _action = action; }
public Async(TState state, Func <Task> action, Reflection.InvocationInfo actionDescription) : base(state, actionDescription) { _action = action; }
/// <summary> /// Constructor /// </summary> public ActionInfo(InvocationInfo method, string fromTrigger) { Method = method; FromTrigger = fromTrigger; }