Exemplo n.º 1
0
        void ShowPause()
        {
            PauseGame();
            m_SceneService.Load <IBoxesPauseUI>(k_PauseUISceneName, (scene, manager) =>
            {
                manager.OnBack += () =>
                {
                    m_SceneService.Unload(k_PauseUISceneName, () => { });
                    UnpauseGame();
                };

                manager.OnMainMenu += () =>
                {
                    m_SceneService.Unload(k_PauseUISceneName, () => { });
                    App.State.Set(AppState.MainMenu);
                };

                manager.OnRestart += () =>
                {
                    m_SceneService.Unload(k_PauseUISceneName, () => { });
                    UnpauseGame();
                    m_BoxesGame.Restart();
                };
            });
        }
Exemplo n.º 2
0
 public void Play()
 {
     if (local)
     {
         sceneService.Load(defaultLocalScene);
     }
     else
     {
         sceneService.Load(defaultNetworkedScene);
     }
 }
Exemplo n.º 3
0
        private async Task LoadingCycle()
        {
            var services      = _diContainer.ResolveAll <ILoading>();
            int servicesCount = services.Count;

            while (true)
            {
                if (services.All(val => val.LoadingState == LoadingState.Loaded))
                {
                    break;
                }

                ILoading loading = services.FirstOrDefault(val => val.LoadingState == LoadingState.Loading);

                if (loading != null)
                {
                    int   doneCount = services.Count(val => val.LoadingState == LoadingState.Loaded);
                    float progress  = doneCount / (float)servicesCount;
                    Update(new LoadingData(progress, $"Loading {loading.GetType().Name}"));
                }

                await Task.Delay(100);
            }

            await _sceneService.Load(SceneName.MainScene);

            _gameStateService.ChangeState(new GameplayGameState());
        }
Exemplo n.º 4
0
        protected void LoadSceneCommandHandler(LoadSceneCommand cmd)
        {
            //Do not load scene if scene is already loaded and cmd.doNotLoadIfSceneAlreadyExists is set to true (default)
            //if(cmd.doNotLoadIfSceneAlreadyExists && _sceneService.IsSceneLoaded(cmd.sceneID)) return;

            if (cmd.asynchron)
            {
                _sceneService.LoadAsync(cmd.sceneID, cmd.additive, cmd.makeActive);
            }
            else
            {
                _sceneService.Load(cmd.sceneID, cmd.additive, cmd.makeActive);
            }
        }
Exemplo n.º 5
0
		public async void OnEnter()
		{
			await _sceneService.Load(SceneName.LoadingScene, true);
			_loadingWindow = GameObject.FindObjectOfType<LoadingWindowView>();
		}