Files
UltimateFishing/Assets/Scripts/Assembly-CSharp/BTN_OptionsQuality.cs
2026-02-21 16:45:37 +08:00

94 lines
2.3 KiB
C#

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>();
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();
}
}