internal void Deactivate() { Debug.Assert(_state == AppStateState.Pushed); if (_isActive) { _console.TraceData(TraceEventType.Verbose, 0, "DeactivateState " + _fullName); try { _substateManager?.DeactivateTopState(); _controllerEvents?.OnDeactivate(); _parentStateManager.InvokeStateDeactivated(_eventArgs); } finally { if (_view != null) { _view.Interactable = false; } _isActive = false; } } }
internal void InvokeStateDeactivated(AppStateEventArgs args) { try { StateDeactivated?.Invoke(this, args); } catch (Exception e) { _console.TraceData(TraceEventType.Error, 0, e); } _parentStateManager?.InvokeStateDeactivated(args); }