From 35134fe3a590d1854308c4a036a3ea1ad86e402f Mon Sep 17 00:00:00 2001 From: danielbrownmsm Date: Sat, 30 Nov 2024 19:25:44 -0600 Subject: [PATCH] add keybind for switching camera view modes as per #9 --- Assets/Scripts/ui/PauseUI.cs | 2 +- Assets/Scripts/ui/SettingsManager.cs | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/Assets/Scripts/ui/PauseUI.cs b/Assets/Scripts/ui/PauseUI.cs index ffc700e..cf84b7a 100644 --- a/Assets/Scripts/ui/PauseUI.cs +++ b/Assets/Scripts/ui/PauseUI.cs @@ -37,7 +37,7 @@ private void SetupCallbacks() fieldOrientedControl.value = SettingsManager.fieldOriented; showHUD.value = SettingsManager.showHUD; - cameraDropdown.choices = new List { "fixed", "mouse", "auto", "bird's eye", "cinematic"}; + cameraDropdown.choices = SettingsManager.cameraViewModes; cameraDropdown.value = SettingsManager.cameraView; manualControlToggle.RegisterCallback(ToggleManualControl); diff --git a/Assets/Scripts/ui/SettingsManager.cs b/Assets/Scripts/ui/SettingsManager.cs index f3ff69b..8f677e5 100644 --- a/Assets/Scripts/ui/SettingsManager.cs +++ b/Assets/Scripts/ui/SettingsManager.cs @@ -15,6 +15,8 @@ public class SettingsManager : MonoBehaviour { public static string cameraView; public static bool needToSetPosition = false; + public static List cameraViewModes = new List { "fixed", "mouse", "auto", "bird's eye", "cinematic" }; + private static int cameraViewIndex = 0; void Awake() { if (Instance != null) { @@ -50,6 +52,17 @@ void Update() { SceneManager.UnloadSceneAsync("pauseMenu"); } } + + cameraViewIndex = cameraViewModes.FindIndex(x => x.Equals(cameraView)); + + if (Input.GetKeyDown("c") || Input.GetKeyDown("right ctrl") || Input.GetKeyDown("left ctrl")) { + cameraViewIndex += 1; + if (cameraViewIndex > cameraViewModes.Count-1) { + cameraViewIndex = 0; + } + + cameraView = cameraViewModes[cameraViewIndex]; + } } public static void SavePreferences() {