Exemple #1
0
 private void HandleMachineStateExited(object sender, StateExitedEventArgs <TState> args)
 {
     if (!_filterState.HasValue || args.State.Equals(_filterState.Value))
     {
         Trip(sender, args);
     }
 }
 /// <summary>
 /// The State ExitCompleted event occurs while transitions are disabled, so modifying the
 /// <see cref="LoopCount"/> property will not create a recursive event loop.
 /// Using the StateMachine StateChanged event instead would cause a recursive loop.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="args"></param>
 private void HandleStateExited(object sender, StateExitedEventArgs args)
 {
     if (args.TransitionArgs.Transition.Consumer == args.TransitionArgs.Transition.Supplier)
     {
         if (LoopCount > 0)
         {
             LoopCount--;
         }
     }
 }
        internal static StateExitedEventArgs <TState> ToStateExitedArgs <TState>(this StateExitedEventArgs args) where TState : struct
        {
            var stateArgs = new StateExitedEventArgs <TState>()
            {
                State          = args.State.ToEnum <TState>(),
                TransitionArgs = args.TransitionArgs == null ? new TransitionEventArgs() : args.TransitionArgs
            };

            return(stateArgs);
        }
        internal static StateExitedEventArgs ToIStateExitedArgs(this Transition transition, TripEventArgs internalArgs)
        {
            var stateArgs = new StateExitedEventArgs()
            {
                State          = transition.From,
                TransitionArgs = transition.ToTransitionArgs(internalArgs)
            };

            return(stateArgs);
        }
Exemple #5
0
 private void State_ExitInitiated(object sender, StateExitedEventArgs e)
 {
 }
Exemple #6
0
 private void State_ExitCompleted(object sender, StateExitedEventArgs e)
 {
 }
Exemple #7
0
 private void HandleStateExited(object sender, StateExitedEventArgs args)
 {
     Trip(sender, args);
 }
Exemple #8
0
 protected virtual void RaiseExited(StateExitedEventArgs args)
 {
     Exited?.Invoke(this, args);
 }