Exemplo n.º 1
0
 void IInitializable.Initialize()
 {
     PreInitialize();
     RequestEntity.OnLoadRequestAsObservable().Select(GetOrCreateSceneStrategy).Subscribe(((ILoaderUseCase)this).Load);
     RequestEntity.OnUnloadRequestAsObservable().Select(GetOrCreateSceneStrategy).Subscribe(((ILoaderUseCase)this).Unload);
     RequestHandlerPresenter.RequestLoadSceneAsObservable().Subscribe(RequestEntity.RequestLoad);
     RequestHandlerPresenter.RequestUnloadSceneAsObservable().Subscribe(RequestEntity.RequestUnload);
     SceneManager.sceneLoaded   += (scene, loadSceneMode) => SceneStateEntity.DidLoadSubject.OnNext(scene.name);
     SceneManager.sceneUnloaded += (scene) => SceneStateEntity.DidUnloadSubject.OnNext(scene.name);
     GenerateInitialSceneStrategyList().Select(SceneEntityFactory.Create).ToList().ForEach(x => SceneEntityList.AddLast(x));
     PostInitialize();
 }