using UnityEngine; // À¯´ÏƼ ¿£ÁøÀÇ ±âº» ±â´ÉÀ» ºÒ·¯¿Ã°Å¿¡¿ä -> UnityEngineÀ» using UnityEngine.UI; // À¯´ÏƼ UI ±â´ÉÀ» »ç¿ëÇÒ°Å¿¡¿ä -> UnityEngine.UI¸¦ using TMPro; // ÅØ½ºÆ®¸Þ½¬ÇÁ·Î ±â´ÉÀ» »ç¿ëÇÒ°Å¿¡¿ä -> TMPro¸¦ public class GraphicSettingUI : MonoBehaviour // Ŭ·¡½º¸¦ ¼±¾ðÇÒ°Å¿¡¿ä -> MonoBehaviour¸¦ »ó¼Ó¹Þ´Â GraphicSettingUI¸¦ { [Header("Àüü È­¸é ¼³Á¤")] // ÀνºÆåÅÍ Ã¢¿¡ Á¦¸ñÀ» Ç¥½ÃÇÒ°Å¿¡¿ä -> Àüü È­¸é ¼³Á¤ À» [SerializeField] private Toggle fullScreenToggle; // º¯¼ö¸¦ ¼±¾ðÇÒ°Å¿¡¿ä -> Àüü È­¸é Åä±Û UI¸¦ fullScreenToggle¿¡ [Header("È­Áú ¼³Á¤ (µå·Ó´Ù¿î)")] // ÀνºÆåÅÍ Ã¢¿¡ Á¦¸ñÀ» Ç¥½ÃÇÒ°Å¿¡¿ä -> È­Áú ¼³Á¤ (µå·Ó´Ù¿î) À» [SerializeField] private TMP_Dropdown qualityDropdown; // º¯¼ö¸¦ ¼±¾ðÇÒ°Å¿¡¿ä -> È­Áú ¼±Åà µå·Ó´Ù¿î UI¸¦ qualityDropdown¿¡ private void Start() // ÇÔ¼ö¸¦ ½ÇÇàÇÒ°Å¿¡¿ä -> ½ºÅ©¸³Æ® ½ÃÀÛ ½Ã Start¸¦ { // ÇöÀç ¼³Á¤°ª ºÒ·¯¿Í¼­ UI¿¡ ¹Ý¿µ LoadCurrentSettings(); // ÇÔ¼ö¸¦ ½ÇÇàÇÒ°Å¿¡¿ä -> ÇöÀç ¼³Á¤À» UI¿¡ Ç¥½ÃÇÏ´Â LoadCurrentSettings¸¦ // À̺¥Æ® ¸®½º³Ê µî·Ï if (fullScreenToggle != null) // Á¶°ÇÀÌ ¸ÂÀ¸¸é ½ÇÇàÇÒ°Å¿¡¿ä -> Àüü È­¸é Åä±ÛÀÌ ÀÖ´Ù¸é fullScreenToggle.onValueChanged.AddListener(OnFullScreenChanged); // ±¸µ¶ÇÒ°Å¿¡¿ä -> °ª º¯°æ ½Ã OnFullScreenChanged È£ÃâÀ» if (qualityDropdown != null) // Á¶°ÇÀÌ ¸ÂÀ¸¸é ½ÇÇàÇÒ°Å¿¡¿ä -> È­Áú µå·Ó´Ù¿îÀÌ ÀÖ´Ù¸é qualityDropdown.onValueChanged.AddListener(OnQualityChanged); // ±¸µ¶ÇÒ°Å¿¡¿ä -> °ª º¯°æ ½Ã OnQualityChanged È£ÃâÀ» } private void LoadCurrentSettings() // ÇÔ¼ö¸¦ ¼±¾ðÇÒ°Å¿¡¿ä -> ÇöÀç ¼³Á¤°ªÀ» UI¿¡ ¹Ý¿µÇÏ´Â LoadCurrentSettings¸¦ { if (SettingsManager.Instance == null) return; // Á¶°ÇÀÌ ¸ÂÀ¸¸é Áß´ÜÇÒ°Å¿¡¿ä -> ¼³Á¤ ¸Å´ÏÀú°¡ ¾ø´Ù¸é // Àüü È­¸é Åä±Û »óÅ µ¿±âÈ­ if (fullScreenToggle != null) // Á¶°ÇÀÌ ¸ÂÀ¸¸é ½ÇÇàÇÒ°Å¿¡¿ä -> Åä±ÛÀÌ ÀÖ´Ù¸é fullScreenToggle.isOn = SettingsManager.Instance.isFullScreen; // °ªÀ» ¼³Á¤ÇÒ°Å¿¡¿ä -> ¸Å´ÏÀúÀÇ Àüü È­¸é ¼³Á¤°ªÀ¸·Î // È­Áú µå·Ó´Ù¿î °ª µ¿±âÈ­ if (qualityDropdown != null) // Á¶°ÇÀÌ ¸ÂÀ¸¸é ½ÇÇàÇÒ°Å¿¡¿ä -> µå·Ó´Ù¿îÀÌ ÀÖ´Ù¸é qualityDropdown.value = SettingsManager.Instance.qualityIndex; // °ªÀ» ¼³Á¤ÇÒ°Å¿¡¿ä -> ¸Å´ÏÀúÀÇ È­Áú À妽º·Î } public void OnFullScreenChanged(bool isFull) // ÇÔ¼ö¸¦ ¼±¾ðÇÒ°Å¿¡¿ä -> Àüü È­¸é º¯°æ ½Ã È£ÃâµÉ OnFullScreenChanged¸¦ { if (SettingsManager.Instance != null) // Á¶°ÇÀÌ ¸ÂÀ¸¸é ½ÇÇàÇÒ°Å¿¡¿ä -> ¸Å´ÏÀú°¡ ÀÖ´Ù¸é SettingsManager.Instance.SetFullScreen(isFull); // ½ÇÇàÇÒ°Å¿¡¿ä -> Àüü È­¸é ¼³Á¤À» Àû¿ëÇÏ´Â ÇÔ¼ö¸¦ } public void OnQualityChanged(int index) // ÇÔ¼ö¸¦ ¼±¾ðÇÒ°Å¿¡¿ä -> È­Áú º¯°æ ½Ã È£ÃâµÉ OnQualityChanged¸¦ { if (SettingsManager.Instance != null) // Á¶°ÇÀÌ ¸ÂÀ¸¸é ½ÇÇàÇÒ°Å¿¡¿ä -> ¸Å´ÏÀú°¡ ÀÖ´Ù¸é SettingsManager.Instance.SetQuality(index); // ½ÇÇàÇÒ°Å¿¡¿ä -> È­Áú ¼³Á¤À» Àû¿ëÇÏ´Â ÇÔ¼ö¸¦ } }