Ejemplo n.º 1
0
        private void RaiseOnExitEvent(StateToken stateToken, object data)
        {
            if (CurrentState != null)
            {
                var stateExitEventArgs = new StateExitEventArgs(stateToken, data);

                isPerformActionLocked = true;
                try
                {
                    CurrentState.OnExit(stateExitEventArgs);
                }
                finally
                {
                    isPerformActionLocked = false;
                }
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Called when the state machine exits the current state.
 /// </summary>
 /// <param name="e">Custem event arguments.</param>
 protected internal virtual void OnExit(StateExitEventArgs e)
 {
     Exit?.Invoke(this, EventArgs.Empty);
 }