public void OnClick(Transform trans) { if (newKeyBeingSet) { return; } if (menuState == MenuState.Main) { switch (trans.name) { case "Option1": Audio.VolumeFade("MainMenuMusic", 1f, 0f, 1.5f, false, true); SceneManager.LoadScene("Game"); break; case "Option2": Debug.Log("Load Game"); break; case "Option3": SwitchMenuState(MenuState.Settings, 4); break; case "Option4": Application.Quit(); break; } } else if (menuState == MenuState.Settings) { switch (trans.name) { case "Option1": SwitchMenuState(MenuState.ControlSettings, keys.Count + 1); break; case "Option2": SwitchMenuState(MenuState.VideoSettings, 4); break; case "Option3": SwitchMenuState(MenuState.AudioSettings, 5); break; case "Option4": SwitchMenuState(MenuState.Main, 4); break; } } else if (menuState == MenuState.VideoSettings) { switch (trans.name) { case "Option1": SwitchMenuState(MenuState.Resolutions, resolutions.Length + 1); break; case "Option2": SwitchMenuState(MenuState.LightingQuality, 5); break; case "Option3": GameSettings.ChangeFullScreen(); SwitchMenuState(MenuState.VideoSettings, 4); break; case "Option4": SwitchMenuState(MenuState.Settings, 4); break; } } else if (menuState == MenuState.Resolutions) { int index = trans.GetSiblingIndex(); if (index == resolutions.Length) { SwitchMenuState(MenuState.VideoSettings, 4); } else { GameSettings.ApplyResolution(resolutions[index].width, resolutions[index].height); SwitchMenuState(MenuState.VideoSettings, 4); } } else if (menuState == MenuState.LightingQuality) { int index = trans.GetSiblingIndex(); if (index == 4) { SwitchMenuState(MenuState.VideoSettings, 4); } else { GameSettings.ApplyLighting(index); SwitchMenuState(MenuState.VideoSettings, 4); } } else if (menuState == MenuState.ControlSettings) { int index = trans.GetSiblingIndex(); if (index == keys.Count) { SwitchMenuState(MenuState.Settings, 4); } else { currentKeyBeingSet = index; newKeyBeingSet = true; currentConfirmKey = Instantiate(confirmKey, transform.parent.parent); currentConfirmKey.GetComponentInChildren <TextMeshProUGUI>().text = $"select a new key for {TextColor.Yellow}{keyFields[index].Name}"; currentConfirmKeyWarning = currentConfirmKey.transform.Find("Warning").gameObject; } } else if (menuState == MenuState.AudioSettings) { int index = trans.GetSiblingIndex(); if (index == 4) { SwitchMenuState(MenuState.Settings, 4); } } }