Projext/Assets/Scripts/Systems/Settings/SettingResolutionUI.cs

50 lines
2.7 KiB
C#
Raw Permalink Normal View History

2026-02-12 15:23:25 +00:00
using UnityEngine; // <20><><EFBFBD><EFBFBD>Ƽ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ҷ<EFBFBD><D2B7>ðſ<C3B0><C5BF><EFBFBD> -> UnityEngine<6E><65>
using TMPro; // <20>ؽ<EFBFBD>Ʈ<EFBFBD>޽<EFBFBD><DEBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ұſ<D2B0><C5BF><EFBFBD> -> TMPro<72><6F>
using System.Collections.Generic; // <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ұſ<D2B0><C5BF><EFBFBD> -> System.Collections.Generic<69><63>
2026-02-02 08:39:05 +00:00
2026-02-12 15:23:25 +00:00
public class SettingResolutionUI : MonoBehaviour // Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ұſ<D2B0><C5BF><EFBFBD> -> MonoBehaviour<75><72> <20><><EFBFBD>ӹ޴<D3B9> SettingResolutionUI<55><49>
2026-02-02 08:39:05 +00:00
{
2026-02-12 15:23:25 +00:00
[SerializeField] private TMP_Dropdown resolutionDropdown; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ұſ<D2B0><C5BF><EFBFBD> -> <20>ػ<EFBFBD><D8BB><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ӵٿ<D3B4> UI<55><49> resolutionDropdown<77><6E>
2026-02-02 08:39:05 +00:00
2026-02-12 15:23:25 +00:00
private Resolution[] resolutions; // <20><EFBFBD><E8BFAD> <20><><EFBFBD><EFBFBD><EFBFBD>Ұſ<D2B0><C5BF><EFBFBD> -> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ػ<EFBFBD><D8BB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> resolutions<6E><73>
private void Start() // <20>Լ<EFBFBD><D4BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ұſ<D2B0><C5BF><EFBFBD> -> <20><>ũ<EFBFBD><C5A9>Ʈ <20><><EFBFBD><EFBFBD> <20><> Start<72><74>
2026-02-02 08:39:05 +00:00
{
2026-02-12 15:23:25 +00:00
InitDropdown(); // <20>Լ<EFBFBD><D4BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ұſ<D2B0><C5BF><EFBFBD> -> <20><><EFBFBD>Ӵٿ<D3B4><D9BF><EFBFBD> <20>ʱ<EFBFBD>ȭ<EFBFBD>ϴ<EFBFBD> InitDropdown<77><6E>
}
2026-02-02 08:39:05 +00:00
2026-02-12 15:23:25 +00:00
private void InitDropdown() // <20>Լ<EFBFBD><D4BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ұſ<D2B0><C5BF><EFBFBD> -> <20>ػ<EFBFBD><D8BB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ä<><C3A4><EFBFBD><EFBFBD> InitDropdown<77><6E>
{
if (SettingsManager.Instance == null || resolutionDropdown == null) return; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ߴ<EFBFBD><DFB4>Ұſ<D2B0><C5BF><EFBFBD> -> <20>Ŵ<EFBFBD><C5B4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Ӵٿ<D3B4><D9BF><EFBFBD> <20><><EFBFBD>ٸ<EFBFBD>
2026-02-02 08:39:05 +00:00
2026-02-12 15:23:25 +00:00
resolutions = SettingsManager.Instance.FilteredResolutions; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ðſ<C3B0><C5BF><EFBFBD> -> <20>Ŵ<EFBFBD><C5B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>͸<EFBFBD><CDB8><EFBFBD> <20>ػ<EFBFBD><D8BB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
resolutionDropdown.ClearOptions(); // <20><><EFBFBD><EFBFBD><EFBFBD>ſ<EFBFBD><C5BF><EFBFBD> -> <20><><EFBFBD>Ӵٿ<D3B4><D9BF><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ɼǵ<C9BC><C7B5><EFBFBD>
2026-02-02 08:39:05 +00:00
2026-02-12 15:23:25 +00:00
List<string> options = new List<string>(); // <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD>Ұſ<D2B0><C5BF><EFBFBD> -> <20>ɼ<EFBFBD> <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE>
int currentResolutionIndex = 0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʱ<EFBFBD>ȭ<EFBFBD>Ұſ<D2B0><C5BF><EFBFBD> -> <20><><EFBFBD><EFBFBD> <20>ػ<EFBFBD><D8BB><EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD> 0<><30><EFBFBD><EFBFBD>
2026-02-02 08:39:05 +00:00
2026-02-12 15:23:25 +00:00
for (int i = 0; i < resolutions.Length; i++) // <20>ݺ<EFBFBD><DDBA>Ұſ<D2B0><C5BF><EFBFBD> -> <20><><EFBFBD><EFBFBD> <20>ػ󵵿<D8BB> <20><><EFBFBD><EFBFBD>
{
string option = resolutions[i].width + " x " + resolutions[i].height; // <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ſ<EFBFBD><C5BF><EFBFBD> -> "<22><><EFBFBD><EFBFBD> x <20><><EFBFBD><EFBFBD>" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
options.Add(option); // <20>߰<EFBFBD><DFB0>Ұſ<D2B0><C5BF><EFBFBD> -> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> <20>ɼ<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE>
2026-02-02 08:39:05 +00:00
2026-02-12 15:23:25 +00:00
// <20><><EFBFBD><EFBFBD> <20>ػ󵵿<D8BB> <20><>ġ<EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD> Ȯ<><C8AE>
if (i == SettingsManager.Instance.resolutionIndex) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ұſ<D2B0><C5BF><EFBFBD> -> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ٸ<EFBFBD>
{
currentResolutionIndex = i; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ұſ<D2B0><C5BF><EFBFBD> -> <20><><EFBFBD><EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD>
}
}
resolutionDropdown.AddOptions(options); // <20>߰<EFBFBD><DFB0>Ұſ<D2B0><C5BF><EFBFBD> -> <20>ϼ<EFBFBD><CFBC><EFBFBD> <20>ɼ<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD>Ӵٿ
resolutionDropdown.value = currentResolutionIndex; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ұſ<D2B0><C5BF><EFBFBD> -> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>õ<EFBFBD> <20>ػ󵵷<D8BB>
resolutionDropdown.RefreshShownValue(); // <20><><EFBFBD><EFBFBD><EFBFBD>Ұſ<D2B0><C5BF><EFBFBD> -> <20><><EFBFBD>Ӵٿ<D3B4> ǥ<><C7A5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
resolutionDropdown.onValueChanged.AddListener(OnResolutionChanged); // <20><><EFBFBD><EFBFBD><EFBFBD>Ұſ<D2B0><C5BF><EFBFBD> -> <20><> <20><><EFBFBD><EFBFBD> <20>̺<EFBFBD>Ʈ<EFBFBD><C6AE>
2026-02-02 08:39:05 +00:00
}
2026-02-12 15:23:25 +00:00
public void OnResolutionChanged(int index) // <20>Լ<EFBFBD><D4BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ұſ<D2B0><C5BF><EFBFBD> -> <20>ػ<EFBFBD><D8BB><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> ȣ<><C8A3><EFBFBD><EFBFBD> OnResolutionChanged<65><64>
2026-02-02 08:39:05 +00:00
{
2026-02-12 15:23:25 +00:00
if (SettingsManager.Instance != null) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ұſ<D2B0><C5BF><EFBFBD> -> <20>Ŵ<EFBFBD><C5B4><EFBFBD><EFBFBD><EFBFBD> <20>ִٸ<D6B4>
SettingsManager.Instance.SetResolution(index); // <20><><EFBFBD><EFBFBD><EFBFBD>Ұſ<D2B0><C5BF><EFBFBD> -> <20>ػ<EFBFBD><D8BB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20>Լ<EFBFBD><D4BC><EFBFBD>
2026-02-02 08:39:05 +00:00
}
2026-02-12 15:23:25 +00:00
}