using System; using TMPro; using UnityEngine; public enum ePopupType { One, Two, Check } public class Popup : MonoBehaviourSingletonTemplateBackKeyAdd { public GameObject m_popup; public TextMeshProUGUI label_msg; Action m_ok, m_no; public void Set(ePopupType _btn, int _msgkey, Action _ok = null, Action _no = null) { m_ok = _ok; m_no = _no; base.Set(); m_popup.SetActive(true); label_msg.text = table_localtext.Ins.Get_Text(_msgkey); } public void Set(ePopupType _btn, int _msgkey, Action _ok = null, Action _no = null, params object[] args) { m_ok = _ok; m_no = _no; base.Set(); m_popup.SetActive(true); label_msg.text = DSUtil.Format(_msgkey, args); } public void Set_QuitPopup() { Set(ePopupType.Two, 22, () => { ServerInfo.Ins.Write(DSUtil.Quit); }); } public void OnClick_OK() { ClosePopup(); m_ok?.Invoke(); } public override void OnClick_Back() { ClosePopup(); m_no?.Invoke(); } void ClosePopup() { m_popup.SetActive(false); BackKeyMgr.Ins.Del_Back(OnClick_Back); } }