using System.Collections.Generic; using UnityEngine; public class SettingsResolution : MonoBehaviour { public EnumSelector selector; private Dictionary availableResolutions = new Dictionary(); private void Start() { selector.onChange.AddListener(ApplyResolution); } private void OnEnable() { selector.options.Clear(); availableResolutions.Clear(); int index = 0; for (int i = 0; i < Screen.resolutions.Length; i++) { Resolution resolution = Screen.resolutions[i]; availableResolutions.Add(i, resolution); selector.options.Add(resolution.ToString()); if (resolution.CompareResolutions(SettingsManager.Instance.CurrentResolution)) { index = i; } } selector.SetIndex(index); } private void ApplyResolution() { if (availableResolutions.TryGetValue(selector.Index, out var value) && !value.CompareResolutions(SettingsManager.Instance.CurrentResolution)) { SettingsManager.Instance.SetResolution(value); } } }