Project_WL/Assets/Script/Info/Popup.cs

55 lines
1.2 KiB
C#
Raw Normal View History

2024-12-15 01:39:39 +00:00
using System;
using TMPro;
using UnityEngine;
public enum ePopupType { One, Two, Check }
public class Popup : MonoBehaviourSingletonTemplateBackKeyAdd<Popup>
{
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);
}
}