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(); }; }); }
public void Play() { if (local) { sceneService.Load(defaultLocalScene); } else { sceneService.Load(defaultNetworkedScene); } }
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()); }
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); } }
public async void OnEnter() { await _sceneService.Load(SceneName.LoadingScene, true); _loadingWindow = GameObject.FindObjectOfType<LoadingWindowView>(); }