using AZTECHWB.Core; using AZTECHWB.Extensions; using AZTECHWB.Management; using Cysharp.Threading.Tasks; using UnityEngine; using UnityEngine.UI; namespace AZTECHWB.UI { public class SettingPanel : UIPanel { private GraphicsSettingContent graphicsSetting; private ControlSettingContent controlSetting; private Button Button_Accept; private Button Button_Reset; private Button Button_Close; public override async UniTask Init() { graphicsSetting = transform.GetComponentInChildren(true); graphicsSetting.Init(); controlSetting = transform.GetComponentInChildren(true); controlSetting.Init(); transform.TryGetComponentInChildren(nameof(Button_Accept), out Button_Accept); transform.TryGetComponentInChildren(nameof(Button_Close), out Button_Close); transform.TryGetComponentInChildren(nameof(Button_Reset), out Button_Reset); Button_Accept.onClick.AddListener(OnClickAcceptButton); Button_Reset.onClick.AddListener(OnClickResetButton); Button_Close.onClick.AddListener(OnClickCloseButton); await UniTask.CompletedTask; } public override void Close() { var topMenuPanel = AZTECHSceneMain.Instance.GetManager().GetCanvas().GetPanel(); topMenuPanel.SetToggleButton("Setting", false); gameObject.SetActive(false); } private void OnClickAcceptButton() { graphicsSetting.Apply(); controlSetting.Apply(); } private void OnClickResetButton() { graphicsSetting.ApplyIniToUI(); controlSetting.ApplyIniToUI(); } private void OnClickCloseButton() { graphicsSetting.ApplyIniToUI(); controlSetting.ApplyIniToUI(); Close(); } } }