Esempio n. 1
0
        private void OnInterruptStateEnter(StateEnterArgs <TTrig, TName> triggerValue)
        {
            if (_action == null)
            {
                throw new NullReferenceException("Null state action");
            }

            _action.Invoke(triggerValue);
            _stateMachine.Restore(_resetState);
        }
Esempio n. 2
0
        private async Task OnAsyncInterruptStateEnter(StateEnterArgs <TTrig, TName> arg)
        {
            if (_asyncAction == null)
            {
                throw new NullReferenceException("Null state async action");
            }

            await _asyncAction.Invoke(arg);

            _stateMachine.Restore(_resetState);
        }
Esempio n. 3
0
        private void OnInterruptStateEnter(StateEnterArgs <TTrig, TName> triggerValue)
        {
            if (_action == null)
            {
                throw new NullReferenceException("Null state async action");
            }
            if (_stateMachine.PreviousState == null)
            {
                throw new Exception("Previous state cannot be null");
            }

            _action.Invoke(triggerValue);
            _stateMachine.Restore(_stateMachine.PreviousState);
        }
Esempio n. 4
0
        private void OnInterruptStateEnter(StateEnterArgs <TTrig, TName> triggerValue)
        {
            if (_action == null)
            {
                throw new NullReferenceException("Null state action");
            }
            if (_stateMachine.PreviousState == null)
            {
                throw new Exception("Previous state cannot be null");
            }

            _transitions.Remove(_returnTrig);
            AddTransition(_returnTrig, _stateMachine.PreviousState);
            _action.Invoke(triggerValue);
        }
Esempio n. 5
0
        private async Task OnAsyncInterruptStateEnter(StateEnterArgs <TTrig, TName> arg)
        {
            if (_asyncAction == null)
            {
                throw new NullReferenceException("Null state async action");
            }
            if (_stateMachine.PreviousState == null)
            {
                throw new Exception("Previous state cannot be null");
            }

            _transitions.Remove(_returnTrig);
            AddTransition(_returnTrig, _stateMachine.PreviousState);
            await _asyncAction.Invoke(arg);
        }
Esempio n. 6
0
 internal Task ActivateAsync(StateEnterArgs <TTrig, TName> value)
 {
     return(OnEnterAsync == null ? Task.CompletedTask : OnEnterAsync.Invoke(value));
 }
Esempio n. 7
0
 internal void Activate(StateEnterArgs <TTrig, TName> value)
 {
     OnEnter?.Invoke(value);
 }