using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Linq; using UnityEngine.UI; using TMPro; public class SettingsMenu : MonoBehaviour{ [SerializeField] GameObject startButton; [SerializeField] GameObject[] mainMenu; [Space] [SerializeField] TMP_Dropdown resolutionDropdown = default; Resolution[] resolutions; int currentResolutionIndex; void Awake(){ foreach(GameObject o in mainMenu){ o.SetActive(false); } if(resolutionDropdown != null){ resolutions = Screen.resolutions.Select(resolution => new Resolution { width = resolution.width, height = resolution.height }).Distinct().ToArray(); resolutionDropdown.ClearOptions(); List options = new List(); for (int i = 0; i < resolutions.Length; i++){ string option = resolutions[i].width + "x" + resolutions[i].height; options.Add(option); if (resolutions[i].width == Screen.currentResolution.width && resolutions[i].height == Screen.currentResolution.height){ currentResolutionIndex = i; } } resolutions.Reverse(); resolutionDropdown.AddOptions(options); resolutionDropdown.value = currentResolutionIndex; resolutionDropdown.RefreshShownValue(); } } bool started; void Update(){ if (Input.anyKeyDown && !started){ AudioManager.instance.PlayOneShot("Start"); AudioManager.instance.Play("Menu"); startButton.SetActive(false); foreach(GameObject o in mainMenu){ o.SetActive(true); } started = true; } } public void SetQuality(int qualityIndex){ QualitySettings.SetQualityLevel(qualityIndex); } public void SetResolution(int resolutionIndex){ Resolution resolution = resolutions[resolutionIndex]; Screen.SetResolution(resolution.width, resolution.height, Screen.fullScreen); } public void Play(){ if (PlayerPrefs.HasKey("Tutorial")){ LevelLoader.instance.LoadScene(2); }else{ LevelLoader.instance.LoadScene(1); } AudioManager.instance.PlayOneShot("Play"); } public void Quit(){ Application.Quit(); } }