示例#1
0
    private T CreatePopupUI <T>(string folder, UIPopupBase.PopupType type = UIPopupBase.PopupType.POP_UP, bool preOption = false) where T : UIPopupBase
    {
        // SpriteLoad;

        if (type == UIPopupBase.PopupType.FRONT)
        {
            if (_frontPopup)
            {
                _accFrontUI++;
                return(null);
            }
        }

        T bundlePopup = null;

        bundlePopup = GetPoolUI <T>();

        if (bundlePopup == null)
        {
            GameObject res = Resources.Load <GameObject>(GlobalUtil.AddString("Prefab/UI/Popup/", typeof(T).ToString()));

            if (res == null)
            {
                Debug.LogError("Look for Other Resources Path : " + typeof(T).ToString());
                return(null);
            }

            GameObject obj = Instantiate(res);

            bundlePopup = obj.GetComponent <T>();
        }

        selectParentBelongtoUI(bundlePopup, type, preOption);


        _datamanager.AddData <T>();


        return(bundlePopup as T);
    }
示例#2
0
    private void selectParentBelongtoUI(UIPopupBase popup, UIPopupBase.PopupType type, bool option)
    {
        switch (type)
        {
        case UIPopupBase.PopupType.SUB_STACK:
            popup.transform.SetParent(StackPopUI, false);
            addStackPopup(popup, option);
            break;

        case UIPopupBase.PopupType.PAGE:
            popup.transform.SetParent(BottomUI, false);
            addPagePopup(popup, option);
            break;

        case UIPopupBase.PopupType.POP_UP:
            popup.transform.SetParent(PopUpUI, false);
            _popupList.Add(popup);
            break;

        case UIPopupBase.PopupType.FADE:
            popup.PopType = UIPopupBase.PopupType.FADE;
            popup.transform.SetParent(FrontUI, false);
            _popupList.Add(popup);
            break;

        case UIPopupBase.PopupType.FRONT:
            popup.transform.SetParent(FrontUI, false);
            _frontPopup = popup;
            _accFrontUI++;
            break;

        case UIPopupBase.PopupType.TOP_BAR:
            popup.transform.SetParent(TopBarUI, false);
            _topBarUI = popup as LobbyTopBar;
            break;
        }

        popup.transform.SetAsLastSibling();
    }
示例#3
0
 /// <summary>
 /// 타입 이름가지고 팝업 생성함수
 /// </summary>
 public T CreatePopupUI <T>(UIPopupBase.PopupType type = UIPopupBase.PopupType.POP_UP, bool preOption = false) where T : UIPopupBase
 {
     return(CreatePopupUI <T>(typeof(T).ToString(), type, preOption));
 }
示例#4
0
 public T CreateTopBar <T>(UIPopupBase.PopupType type = UIPopupBase.PopupType.TOP_BAR, bool preOption = false) where T : UIPopupBase
 {
     return(CreatePopupUI <T>(type, false));
 }