/// <inheritdoc/>
        public IPresenterBuilder UseEventSource(IPresenterEventSource eventSource)
        {
            if (_eventSource != null)
            {
                throw new InvalidOperationException();
            }

            _eventSource = eventSource ?? throw new ArgumentNullException(nameof(eventSource));
            return(this);
        }
        /// <inheritdoc/>
        public IPresenterBuilder UsePlayerLoop()
        {
            if (_eventSource != null)
            {
                throw new InvalidOperationException();
            }

            _eventSource = new PlayerLoopEventSource();
            return(this);
        }
Exemple #3
0
		internal Presenter(IServiceProvider serviceProvider, IViewFactory viewFactory, IViewControllerFactory controllerFactory, IPresenterEventSource eventSource)
		{
			Debug.Assert(serviceProvider != null);
			Debug.Assert(viewFactory != null);
			Debug.Assert(controllerFactory != null);

			_serviceProvider = serviceProvider;
			_viewFactory = viewFactory;
			_controllerFactory = controllerFactory;
			_eventSource = eventSource;
			_controllers = new ViewControllerCollection(_presentables);

			_eventSource?.AddPresenter(this);
		}