public static void openFirst(PopupType type, string msg = "", PopupData.PopupAction yesAction = null, PopupData.PopupAction closeAction = null, params object[] data) { PopupData pd = getPopupDataFromPool(); pd.setData(type, msg, yesAction, closeAction, data); if (_closePopupData != null && (nowPopupData != null && nowPopupData == _closePopupData)) { nowPopupData = null; } if (nowPopupData != null) { _popups.Insert(0, nowPopupData); if (nowPopupData.popupType != pd.popupType) { UISystemPopupBase p = getPopupByType(nowPopupData.popupType); if (p != null) { p.gameObject.SetActive(false); } } nowPopupData = null; } open(pd); }
public static void open(PopupType type, string msg = "", PopupData.PopupAction yesAction = null, PopupData.PopupAction closeAction = null, params object[] data) { PopupData pd = getPopupDataFromPool(); pd.setData(type, msg, yesAction, closeAction, data); if (_closePopupData != null && (nowPopupData != null && nowPopupData == _closePopupData)) { nowPopupData = null; } // 새로 띄울 팝업이 시스템 에러면 얘가 최우선 순위 되겠다. // 기존에 떠있는 팝업이 있으면 저장해놓고 얘를 먼저 보여준다. if (type == PopupType.SystemError) { if (nowPopupData != null) { _popups.Insert(0, nowPopupData); nowPopupData = null; } open(pd); } // 일반 팝업일때는 현재 보여지는 팝업이 있으면 뒤에 쌓아놓고 아니면 바로 보여준다. else { if (nowPopupData != null) { _popups.Add(pd); } else { open(pd); } } }