94 lines
2.3 KiB
C#
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();
|
|
}
|
|
}
|