/// <summary> /// Goes back depending active gameobject. /// </summary> private void GoBack() { if (MainMenu.activeInHierarchy) { } else if (PlayObject.activeInHierarchy) { if (gamepad.GetButtonDown("B")) { PlayObject.SetActive(false); MainMenu.SetActive(true); GamemodeButton.Select(); } } else if (HighScore.activeInHierarchy) { if (gamepad.GetButtonDown("B")) { HighScore.SetActive(false); MainMenu.SetActive(true); LeaderboardButton.Select(); } } else if (Settings.activeInHierarchy) { if (gamepad.GetButtonDown("B")) { Settings.SetActive(false); MainMenu.SetActive(true); SettingsButton.Select(); } } }
//////////////////////////////////////////////////////////////////////////////////////////////////////////////// private void TogglePause() { if (GameManager.Instance.PauseWidget.transform.gameObject.activeInHierarchy) { if (_Gamepad.GetButtonDown("start")) { GameManager.Instance.PauseWidget.gameObject.SetActive(false); } } else { if (_Gamepad.GetButtonDown("start")) { GameManager.Instance.PauseWidget.gameObject.SetActive(true); } } }
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> /// Switches between menu states. /// </summary> private void NavigateMenu() { if (MainMenu.AreaState == SceneAreaState.ACTIVE) { MainMenu.WholeAreaObject.SetActive(true); } else { MainMenu.WholeAreaObject.SetActive(false); } if (SettingsMenu.AreaState == SceneAreaState.ACTIVE) { SettingsMenu.WholeAreaObject.SetActive(true); if ((gamepad.GetButtonDown("B") || Input.GetKeyDown(KeyCode.Escape)) && !gameObject.GetComponent <SettingsMenuNavigator>().SchemeWrapper.activeInHierarchy) { SettingsMenu.AreaState = SceneAreaState.INACTIVE; MainMenu.AreaState = SceneAreaState.ACTIVE; if (MainMenu.StartButton != null) { StartCoroutine(DelayedSelectButton(MainMenu.StartButton)); } } } else { SettingsMenu.WholeAreaObject.SetActive(false); } if (LeaderboardMenu.AreaState == SceneAreaState.ACTIVE) { LeaderboardMenu.WholeAreaObject.SetActive(true); if ((gamepad.GetButtonDown("B") || Input.GetKeyDown(KeyCode.Escape))) { LeaderboardMenu.AreaState = SceneAreaState.INACTIVE; MainMenu.AreaState = SceneAreaState.ACTIVE; if (MainMenu.StartButton != null) { StartCoroutine(DelayedSelectButton(MainMenu.StartButton)); } } } else { LeaderboardMenu.WholeAreaObject.SetActive(false); } if (PlayMenu.AreaState == SceneAreaState.ACTIVE) { PlayMenu.WholeAreaObject.SetActive(true); if ((gamepad.GetButtonDown("B") || Input.GetKeyDown(KeyCode.Escape))) { if (LevelUIObject.activeInHierarchy) { LevelUIObject.SetActive(false); StartCoroutine(DelayedSelectButton(PlayMenu.StartButton)); OverviewObject.SetActive(true); } else if (DifficultyUIObject.activeInHierarchy) { DifficultyUIObject.SetActive(false); StartCoroutine(DelayedSelectButton(PlayMenu.StartButton)); OverviewObject.SetActive(true); } else if (FactionUIObject.activeInHierarchy) { FactionUIObject.SetActive(false); StartCoroutine(DelayedSelectButton(PlayMenu.StartButton)); OverviewObject.SetActive(true); } else { PlayMenu.AreaState = SceneAreaState.INACTIVE; MainMenu.AreaState = SceneAreaState.ACTIVE; if (MainMenu.StartButton != null) { StartCoroutine(DelayedSelectButton(MainMenu.StartButton)); } } } } else { PlayMenu.WholeAreaObject.SetActive(false); } if (CreditsMenu.AreaState == SceneAreaState.ACTIVE) { CreditsMenu.WholeAreaObject.SetActive(true); if ((gamepad.GetButtonDown("B") || Input.GetKeyDown(KeyCode.Escape))) { MainMenu.AreaState = SceneAreaState.ACTIVE; CreditsMenu.AreaState = SceneAreaState.INACTIVE; if (MainMenu.StartButton != null) { StartCoroutine(DelayedSelectButton(MainMenu.StartButton)); } } } else { CreditsMenu.WholeAreaObject.SetActive(false); } if (ShowcaseMenu.AreaState == SceneAreaState.ACTIVE) { ShowcaseMenu.WholeAreaObject.SetActive(true); if ((gamepad.GetButtonDown("B") || Input.GetKeyDown(KeyCode.Escape))) { MainMenu.AreaState = SceneAreaState.ACTIVE; ShowcaseMenu.AreaState = SceneAreaState.INACTIVE; if (MainMenu.StartButton != null) { StartCoroutine(DelayedSelectButton(MainMenu.StartButton)); } } } else { ShowcaseMenu.WholeAreaObject.SetActive(false); } }
/// <summary> /// Do actions based on current active scene. /// </summary> private void SwitchSettings() { switch (CurrentSelection) { case "MenuType": if (gamepad.GetButtonDown("RB")) { if (_MenuType < MenuType.WINDOW) { _MenuType++; } else { _MenuType = 0; } PlayerPrefs.SetInt("MenuType", (int)_MenuType); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } else if (gamepad.GetButtonDown("LB")) { if (_MenuType > MenuType.RADIAL) { _MenuType--; } else { _MenuType = MenuType.WINDOW;; } UpdateTextAndApplySettings(); PlayerPrefs.SetInt("MenuType", (int)_MenuType); PlayerPrefs.Save(); } break; case "WindowMode": if (gamepad.GetButtonDown("RB")) { if (_WindowMode < WindowMode.WINDOWED) { _WindowMode++; } else { _WindowMode = 0; } PlayerPrefs.SetInt("WindowMode", (int)_WindowMode); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } else if (gamepad.GetButtonDown("LB")) { if (_WindowMode > WindowMode.FULLSCREEN) { _WindowMode--; } else { _WindowMode = WindowMode.WINDOWED; } PlayerPrefs.SetInt("WindowMode", (int)_WindowMode); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } break; case "Resolution": if (gamepad.GetButtonDown("RB")) { PlayerPrefs.SetInt("Resolution", (int)_Resolution); PlayerPrefs.Save(); } else if (gamepad.GetButtonDown("LB")) { PlayerPrefs.SetInt("Resolution", (int)_Resolution); PlayerPrefs.Save(); } break; case "AspectRatio": if (gamepad.GetButtonDown("RB")) { if (_AspectRatio < AspectRatio.FIVE_FOUR) { _AspectRatio++; } else { _AspectRatio = AspectRatio.SIXTEEN_NINE; } PlayerPrefs.SetInt("AspectRatio", (int)_AspectRatio); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } else if (gamepad.GetButtonDown("LB")) { if (_AspectRatio > AspectRatio.SIXTEEN_NINE) { _AspectRatio--; } else { _AspectRatio = AspectRatio.FIVE_FOUR; } PlayerPrefs.SetInt("AspectRatio", (int)_AspectRatio); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } break; case "VSync": if (gamepad.GetButtonDown("RB")) { if (VSync == 0) { VSync = 1; } else if (VSync == 1) { VSync = 0; } PlayerPrefs.SetInt("VSync", VSync); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } else if (gamepad.GetButtonDown("LB")) { if (VSync == 0) { VSync = 1; } else if (VSync == 1) { VSync = 0; } PlayerPrefs.SetInt("VSync", VSync); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } break; case "TextureQuality": if (gamepad.GetButtonDown("RB")) { if (_TextureQuality < TextureQuality.ULTRA) { _TextureQuality++; } else { _TextureQuality = 0; } PlayerPrefs.SetInt("TextureQuality", (int)_TextureQuality); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } else if (gamepad.GetButtonDown("LB")) { if (_TextureQuality > TextureQuality.VERY_LOW) { _TextureQuality--; } else { _TextureQuality = TextureQuality.ULTRA; } PlayerPrefs.SetInt("TextureQuality", (int)_TextureQuality); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } break; case "MasterVolume": if (gamepad.GetButton("LB")) { if (MasterVolume > 0) { MasterVolume--; } PlayerPrefs.SetFloat("MasterVolume", MasterVolume); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } else if (gamepad.GetButton("RB")) { if (MasterVolume < 100) { MasterVolume++; } PlayerPrefs.SetFloat("MasterVolume", MasterVolume); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } break; case "MusicVolume": if (gamepad.GetButton("LB")) { if (MusicVolume > 0) { MusicVolume--; } PlayerPrefs.SetFloat("MusicVolume", MusicVolume); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } else if (gamepad.GetButton("RB")) { if (MusicVolume < 100) { MusicVolume++; } PlayerPrefs.SetFloat("MusicVolume", MusicVolume); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } break; case "SFXVolume": if (gamepad.GetButton("LB")) { if (EffectsVolume > 0) { EffectsVolume--; } PlayerPrefs.SetFloat("SFXVolume", EffectsVolume); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } else if (gamepad.GetButton("RB")) { if (EffectsVolume < 100) { EffectsVolume++; } PlayerPrefs.SetFloat("SFXVolume", EffectsVolume); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } break; default: break; } }
/// <summary> /// Do actions based on current active scene. /// </summary> private void SwitchSettings() { switch (CurrentSelection) { case "MenuType": if (InputChecker.CurrentController == "Controller") { if (gamepad.GetButtonDown("RB")) { if (_MenuType < MenuType.WINDOW) { _MenuType++; } else { _MenuType = 0; } PlayerPrefs.SetInt("MenuType", (int)_MenuType); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } else if (gamepad.GetButtonDown("LB")) { if (_MenuType > MenuType.RADIAL) { _MenuType--; } else { _MenuType = MenuType.WINDOW;; } UpdateTextAndApplySettings(); PlayerPrefs.SetInt("MenuType", (int)_MenuType); PlayerPrefs.Save(); } } break; case "WindowMode": if (InputChecker.CurrentController == "Controller") { if (gamepad.GetButtonDown("RB")) { if (_WindowMode < WindowMode.WINDOWED) { _WindowMode++; } else { _WindowMode = 0; } PlayerPrefs.SetInt("WindowMode", (int)_WindowMode); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } else if (gamepad.GetButtonDown("LB")) { if (_WindowMode > WindowMode.FULLSCREEN) { _WindowMode--; } else { _WindowMode = WindowMode.WINDOWED; } PlayerPrefs.SetInt("WindowMode", (int)_WindowMode); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } } break; case "Resolution": if (InputChecker.CurrentController == "Controller") { if (gamepad.GetButtonDown("RB")) { if (_Resolution < Resolution.THIRTY_EIGHT_FOURTY_BY_TWENTY_ONE_SIXTY) { _Resolution++; } else { _Resolution = 0; } PlayerPrefs.SetInt("Resolution", (int)_Resolution); PlayerPrefs.Save(); } else if (gamepad.GetButtonDown("LB")) { if (_Resolution > Resolution.NINETEEN_TWENTY_BY_TEN_EIGHTY) { _Resolution--; } else { _Resolution = Resolution.THIRTY_EIGHT_FOURTY_BY_TWENTY_ONE_SIXTY; } PlayerPrefs.SetInt("Resolution", (int)_Resolution); PlayerPrefs.Save(); } } break; case "AspectRatio": if (InputChecker.CurrentController == "Controller") { if (gamepad.GetButtonDown("RB")) { if (_AspectRatio < AspectRatio.FIVE_FOUR) { _AspectRatio++; } else { _AspectRatio = AspectRatio.SIXTEEN_NINE; } PlayerPrefs.SetInt("AspectRatio", (int)_AspectRatio); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } else if (gamepad.GetButtonDown("LB")) { if (_AspectRatio > AspectRatio.SIXTEEN_NINE) { _AspectRatio--; } else { _AspectRatio = AspectRatio.FIVE_FOUR; } PlayerPrefs.SetInt("AspectRatio", (int)_AspectRatio); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } } break; case "VSync": if (InputChecker.CurrentController == "Controller") { if (gamepad.GetButtonDown("RB")) { if (VSync == 0) { VSync = 1; } else if (VSync == 1) { VSync = 0; } PlayerPrefs.SetInt("VSync", VSync); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } else if (gamepad.GetButtonDown("LB")) { if (VSync == 0) { VSync = 1; } else if (VSync == 1) { VSync = 0; } PlayerPrefs.SetInt("VSync", VSync); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } } break; case "TextureQuality": if (InputChecker.CurrentController == "Controller") { if (gamepad.GetButtonDown("RB")) { if (_TextureQuality < TextureQuality.HIGH) { _TextureQuality++; } else { _TextureQuality = 0; } PlayerPrefs.SetInt("TextureQuality", (int)_TextureQuality); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } else if (gamepad.GetButtonDown("LB")) { if (_TextureQuality > TextureQuality.LOW) { _TextureQuality--; } else { _TextureQuality = TextureQuality.HIGH; } PlayerPrefs.SetInt("TextureQuality", (int)_TextureQuality); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } } break; case "MasterVolume": if (InputChecker.CurrentController == "Controller") { if (gamepad.GetButton("LB")) { if (MasterVolume > 0) { MasterVolume--; } PlayerPrefs.SetFloat("MasterVolume", MasterVolume); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } else if (gamepad.GetButton("RB")) { if (MasterVolume < 100) { MasterVolume++; } PlayerPrefs.SetFloat("MasterVolume", MasterVolume); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } } break; case "MusicVolume": if (InputChecker.CurrentController == "Controller") { if (gamepad.GetButton("LB")) { if (MusicVolume > 0) { MusicVolume--; } PlayerPrefs.SetFloat("MusicVolume", MusicVolume); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } else if (gamepad.GetButton("RB")) { if (MusicVolume < 100) { MusicVolume++; } PlayerPrefs.SetFloat("MusicVolume", MusicVolume); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } } break; case "SFXVolume": if (InputChecker.CurrentController == "Controller") { if (gamepad.GetButton("LB")) { if (EffectsVolume > 0) { EffectsVolume--; } PlayerPrefs.SetFloat("SFXVolume", EffectsVolume); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } else if (gamepad.GetButton("RB")) { if (EffectsVolume < 100) { EffectsVolume++; } PlayerPrefs.SetFloat("SFXVolume", EffectsVolume); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } } break; case "VoiceVolume": if (InputChecker.CurrentController == "Controller") { if (gamepad.GetButton("LB")) { if (VoiceVolume > 0) { VoiceVolume--; } PlayerPrefs.SetFloat("VoiceVolume", VoiceVolume); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } else if (gamepad.GetButton("RB")) { if (VoiceVolume < 100) { VoiceVolume++; } PlayerPrefs.SetFloat("VoiceVolume", VoiceVolume); UpdateTextAndApplySettings(); PlayerPrefs.Save(); } } break; default: break; } }