using UnityEngine; using UnityEngine.UI; public class BTN_OptionsQuality : MonoBehaviour { private Dropdown dropdown; private RenderSettingsMy renderSettings; private void Start() { InitList(); } private void OnEnable() { InitList(); } private void InitList() { if (!GlobalSettings.Instance || !GlobalSettings.Instance.renderSettings) { return; } renderSettings = GlobalSettings.Instance.renderSettings; dropdown = base.gameObject.GetComponent(); dropdown.options.Clear(); dropdown.options.Capacity = 0; if (VRManager.IsVROn()) { dropdown.options.Add(new Dropdown.OptionData(Utilities.GetTranslation(renderSettings.qualityDefinitions[1].name))); dropdown.options.Add(new Dropdown.OptionData(Utilities.GetTranslation(renderSettings.qualityDefinitions[2].name))); dropdown.options.Add(new Dropdown.OptionData(Utilities.GetTranslation(renderSettings.qualityDefinitions[3].name))); if (renderSettings.currentQuality == RenderSettingsMy.RenderQuality.LOW) { dropdown.value = 0; } else if (renderSettings.currentQuality == RenderSettingsMy.RenderQuality.MEDIUM) { dropdown.value = 1; } else { dropdown.value = 2; } } else { for (int i = 0; i < renderSettings.qualityDefinitions.Length; i++) { dropdown.options.Add(new Dropdown.OptionData(Utilities.GetTranslation(renderSettings.qualityDefinitions[i].name))); } dropdown.value = (int)renderSettings.currentQuality; } dropdown.RefreshShownValue(); } public void UpdateQuality() { if ((bool)renderSettings) { if (VRManager.IsVROn()) { if (dropdown.value == 0) { renderSettings.ChangeRenderQuality(RenderSettingsMy.RenderQuality.LOW); } else if (dropdown.value == 1) { renderSettings.ChangeRenderQuality(RenderSettingsMy.RenderQuality.MEDIUM); } else { renderSettings.ChangeRenderQuality(RenderSettingsMy.RenderQuality.HIGH); } } else if (dropdown.value >= 0 && dropdown.value < renderSettings.qualityDefinitions.Length) { renderSettings.ChangeRenderQuality((RenderSettingsMy.RenderQuality)dropdown.value); } } if ((bool)GameController.Instance) { GameController.Instance.RenderAllProbes(); } } public void LanguageChanged() { InitList(); } }