Пример #1
0
            /// <summary>
            /// Add an internal transition to the state machine. An internal action does not cause the Exit and Entry actions to be triggered, and does not change the state of the state machine
            /// </summary>
            /// <param name="trigger"></param>
            /// <param name="entryAction"></param>
            /// <returns></returns>
            public StateConfiguration InternalTransition(TTrigger trigger, Action <Transition> entryAction)
            {
                if (entryAction == null)
                {
                    throw new ArgumentNullException(nameof(entryAction));
                }

                _representation.AddTriggerBehaviour(new InternalTriggerBehaviour(trigger));
                _representation.AddInternalAction(trigger, (t, args) => entryAction(t));
                return(this);
            }
Пример #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="trigger"></param>
 /// <param name="entryAction"></param>
 /// <returns></returns>
 public StateConfiguration InternalTransition(TTrigger trigger, Action <Transition> entryAction)
 {
     _representation.AddTriggerBehaviour(new InternalTriggerBehaviour(trigger));
     _representation.AddInternalAction(trigger, (t, args) => entryAction(t));
     return(this);
 }