/// <summary> /// /// </summary> /// <returns></returns> private void StartAnimation() { _currentSequence = DOTween.Sequence(); _currentSequence.Append(_textDemo.DOFade(1f, 0.5f)); foreach (var item in _images) { _currentSequence.Join(item.DOFade(1f, 0.5f)); } _currentSequence.AppendInterval(1.0f); _currentSequence.Append(_textDemo.DOFade(0f, 0.5f)); foreach (var item in _images) { _currentSequence.Join(item.DOFade(0f, 0.5f)); } _currentSequence.Append(_textMesh.DOFade(1f, 0.5f)); _currentSequence.Join(_controllerImage.DOFade(1f, 0.5f)); _currentSequence.AppendInterval(1.0f); _currentSequence.Append(_textMesh.DOFade(0f, 0.5f)); _currentSequence.Join(_controllerImage.DOFade(0f, 0.5f)); _currentSequence.AppendCallback(() => GameplayStatics.TransitionToScene(GameConstants.TitleScreenScene)); }
/// <summary> /// /// </summary> /// <returns></returns> private IEnumerator LoadGame() { MenuMusicController.StopMusic(); yield return(new WaitForSecondsRealtime(1.0f)); GameplayStatics.TransitionToScene(_mapSettings.selectedMap.sceneName); }
/// <summary> /// /// </summary> /// <param name="action"></param> private void OnSubmit(UINavigationData action) { action.navigationHandler.Unfocus(); StopMusic(); switch (action.actionName) { case "Rematch": if (GameModeParams.instance.useRandomMap) { GameModeParams.instance.selectedMap = GetRandomMap(GameModeParams.instance.selectedMap); } GameplayStatics.TransitionToScene(GameModeParams.instance.selectedMap); break; case "QuitGame": GameplayStatics.TransitionToScene( GameConstants.TitleScreenScene ); break; default: MatchSettingsManager.showMaps = true; GameplayStatics.TransitionToScene( GameConstants.MatchSettingsScene ); break; } }
/// <summary> /// /// </summary> /// <param name="winner"></param> /// <returns></returns> private IEnumerator GameOver(CharacterSpawner winner) { for (var i = 0; i < characterSpawners.Count; ++i) { if (characterSpawners[i].teamIndex == -1) { continue; } characterSpawners[i].UpdateScoreInfo(); Telemetry.game.Set($"player{i}Score", characterSpawners[i].score); } isGameOver = true; var character = winner.character; var aiBehaviourManager = character.GetComponentInChildren <AIBehaviourManager>(); if (aiBehaviourManager != null) { Destroy(aiBehaviourManager.gameObject); } yield return(winner.OpenPod()); character.SetGameplayState(CharacterGameplayState.Leaving); yield return((character.gameplayStateHandler as CharacterGameplayState_Leaving).coroutine); yield return(winner.ClosePod()); StartCoroutine(TriggerExplosions()); yield return(new WaitForSeconds(1.0f)); for (var i = 0; i < characterSpawners.Count; ++i) { if (characterSpawners[i].teamIndex == -1) { continue; } Telemetry.game.Set($"player{i}Score", characterSpawners[i].score); if (characterSpawners[i] == winner) { continue; } if (characterSpawners[i].character != null) { characterSpawners[i].character.SetGameplayState(CharacterGameplayState.Panicking); } } yield return(new WaitForSeconds(4.0f)); GameplayStatics.TransitionToScene(GameConstants.VictoryScene); yield break; }
/// <summary> /// /// </summary> /// <param name="data"></param> private IEnumerator OnSubmit(UINavigationData data) { var shakeTime = 0.5f; var shakeStrenght = 5f; var shakeVibrato = 50; switch (data.actionName) { case "Start": data.navigationHandler.Unfocus(); ShakeAllControllers(); MatchSettingsManager.showMaps = false; yield return(UITitleScreenPanel.titleScreenPanelInstance.playButton.transform.DOShakePosition(shakeTime, shakeStrenght, shakeVibrato).WaitForCompletion()); UITitleScreenPanel.CloseTitleScreenPanel(); break; case "Settings": data.navigationHandler.Unfocus(); ShakeAllControllers(); yield return(UITitleScreenPanel.titleScreenPanelInstance.settingsButton.transform.DOShakePosition(shakeTime, shakeStrenght, shakeVibrato).WaitForCompletion()); UITitleScreenPanel.titleScreenPanelInstance.gameObject.SetActive(false); SettingsPanelNavigationHandler.OpenSettingsPanel(() => { data.navigationHandler.Focus(); UITitleScreenPanel.titleScreenPanelInstance.gameObject.SetActive(true); }); break; case "Credits": data.navigationHandler.Unfocus(); ShakeAllControllers(); yield return(UITitleScreenPanel.titleScreenPanelInstance.creditsButton.transform.DOShakePosition(shakeTime, shakeStrenght, shakeVibrato).WaitForCompletion()); UITitleScreenPanel.titleScreenPanelInstance.gameObject.SetActive(false); var credits = FindObjectOfType <Credits>(); credits?.StartCredits(() => { data.navigationHandler.Focus(); UITitleScreenPanel.titleScreenPanelInstance.gameObject.SetActive(true); }); UITitleScreenPanel.titleScreenPanelInstance.gameObject.SetActive(false); break; case "QuitGame": data.navigationHandler.Unfocus(); ShakeAllControllers(); MenuMusicController.StopMusic(); yield return(UITitleScreenPanel.titleScreenPanelInstance.quitButton.transform.DOShakePosition(shakeTime, shakeStrenght, shakeVibrato).WaitForCompletion()); GameplayStatics.TransitionToScene(GameConstants.SupportScene); break; } }
/// <summary> /// /// </summary> private void UpdateCharacterSelection() { if (CheckTransitionBack(State.None)) { GameplayStatics.TransitionToScene(GameConstants.TitleScreenScene); return; } UpdateControllers(); var allReady = _characterSettings.Where(x => x.isJoining).All(x => x.hasSelected); var playersReady = _characterSettings.Where(x => x.isReady).ToArray(); var playersReadyCount = playersReady.Count(x => x.isReady); var playersJoinCount = _characterSettings.Count(x => x.isJoining); var enoughPlayers = playersReadyCount >= (Debug.isDebugBuild ? 1 : MinimumNumberOfPlayers); if (playersJoinCount < 2 && playersReadyCount >= 1 && !Debug.isDebugBuild) { _playerMinPrompt.Open(); } else if (_playerMinPrompt.isOpen) { _playerMinPrompt.Close(); } if (allReady && enoughPlayers) { if (!_continuePrompt.isOpen) { _continuePrompt.Open(); } } else if (_continuePrompt.isOpen) { _continuePrompt.Close(); } if (_continuePrompt.isOpen) { int controllerIndex; if (InputHelper.AnyButtonDown(SubmitInputName, out controllerIndex)) { if (playersReady.Any(x => x.controllerIndex == controllerIndex && x.isReady) || playersReady.All(x => x.useCPU)) { GotoMapSelection(); } } } }
/// <summary> /// /// </summary> private IEnumerator CloseInternal() { _playButton.transform.DOMoveX(500f, 0.3f); yield return(new WaitForSeconds(0.2f)); _settingsButton.transform.DOMoveX(-500f, 0.3f); yield return(new WaitForSeconds(0.2f)); _creditsButton.transform.DOMoveX(500f, 0.3f); yield return(new WaitForSeconds(0.2f)); yield return(_quitButton.transform.DOMoveX(-500f, 0.3f).WaitForCompletion()); GameplayStatics.TransitionToScene(GameConstants.MatchSettingsScene); }
/// <summary> /// /// </summary> /// <param name="data"></param> private void OnSubmit(UINavigationData data) { switch (data.actionName) { case "Resume": GameplayStatics.UnpauseGame(); break; case "Rematch": StopMusic(); GameplayStatics.TransitionToScene( UnityEngine.SceneManagement.SceneManager.GetActiveScene().name ); break; case "Settings": data.navigationHandler.Unfocus(); _pausePanel.gameObject.SetActive(false); SettingsPanelNavigationHandler.OpenSettingsPanel(() => { _pausePanel.gameObject.SetActive(true); data.navigationHandler.Focus(); }); break; case "QuitGame": StopMusic(); GameplayStatics.TransitionToScene( GameConstants.TitleScreenScene ); break; case "ChangeMap": MatchSettingsManager.showMaps = true; StopMusic(); GameplayStatics.TransitionToScene( GameConstants.MatchSettingsScene ); break; } }