public void AddEntryAction(Action <Transition, object[]> action, string entryActionDescription) { EntryActions.Add( new EntryActionBehavior( Enforce.ArgumentNotNull(action, nameof(action)), Enforce.ArgumentNotNull(entryActionDescription, nameof(entryActionDescription)))); }
public void AddEntryAction(Func <Transition, object[], Task> action, Reflection.InvocationInfo entryActionDescription) { EntryActions.Add( new EntryActionBehavior.Async( action, entryActionDescription)); }
public void AddEntryAction(TTrigger trigger, Action <Transition, object[]> action, string entryActionDescription) { Enforce.ArgumentNotNull(action, nameof(action)); EntryActions.Add( new EntryActionBehavior((t, args) => { if (t.Trigger.Equals(trigger)) { action(t, args); } }, Enforce.ArgumentNotNull(entryActionDescription, nameof(entryActionDescription)))); }
public void DeleteAction(Guid outputId) { if (EntryActions != null && EntryActions.Contains(outputId)) { var actions = new List <Guid>(EntryActions.Where(x => x != outputId)); EntryActions = actions.ToArray(); } if (ExitActions != null && ExitActions.Contains(outputId)) { var actions = new List <Guid>(ExitActions.Where(x => x != outputId)); ExitActions = actions.ToArray(); } }
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)); }
/// <summary> /// Constructs a new instance of State. /// </summary> /// <param name="stateInfo">The state to be represented.</param> public State(StateInfo stateInfo) { NodeName = stateInfo.UnderlyingState.ToString(); StateName = stateInfo.UnderlyingState.ToString(); // Only include entry actions that aren't specific to a trigger foreach (var entryAction in stateInfo.EntryActions) { if (entryAction.FromTrigger == null) { EntryActions.Add(entryAction.Method.Description); } } foreach (var exitAction in stateInfo.ExitActions) { ExitActions.Add(exitAction.Description); } }
public void AddEntryAction(TTrigger trigger, Action <Transition, object[]> action, Reflection.InvocationInfo entryActionDescription) { EntryActions.Add(new EntryActionBehavior.SyncFrom <TTrigger>(trigger, action, entryActionDescription)); }
public static void EntryActionsAddRaiseAction(EntryActions entryActions, RaiseAction raiseAction) => entryActions.AddAction(raiseAction);
public static void EntryActionsAddAssignAction(EntryActions entryActions, AssignAction assignAction) => entryActions.AddAction(assignAction);
public static void EntryActionsAddLogAction(EntryActions entryActions, LogAction logAction) => entryActions.AddAction(logAction);
public static void StateNodeSetEntryActions(FinalStateNode stateNode, EntryActions entryActions) => stateNode.EntryActions = entryActions.Actions;
private void Setup() { EntryActions.Add(Hit); }