void IClosableViewRegistrar.Register <T>(IClosableViewController controller) { _registeredViews.Add(typeof(T), controller); controller.IsOpen .Subscribe(_ => UpdateIsAnyOpen()) .AddTo(Disposer); }
void IClosableViewRegistrar.RegisterClosableView( ClosableViewType closableViewType, IClosableViewController closableViewController) { _closableViewControllers.Add(closableViewType, closableViewController); closableViewController.OnViewOpen .Subscribe(_ => _onViewOpened.OnNext(closableViewType)) .AddTo(Disposer); closableViewController.OnViewClose .Subscribe(_ => _onViewClosed.OnNext(closableViewType)) .AddTo(Disposer); }