Ejemplo n.º 1
0
        static UIPopupMessageBox CreatePopupMessageBox(PopupPriority priority)
        {
            UIPopupMessageBox msg_box = RecyclableObject.Create <UIPopupMessageBox>();

            msg_box.Priority = priority;
            return(msg_box);
        }
Ejemplo n.º 2
0
 public void Close(bool clear_callback = true)
 {
     if (clear_callback)
     {//确定关闭
         UIMessageBox.ClearCallback();
         RecyclableObject.Recycle(this);
     }
     else
     {//隐藏先压到列表
         UIMessageBox.SetShow(false);
     }
 }
Ejemplo n.º 3
0
 static void RecyclePopupMessageBox(UIPopupMessageBox popup)
 {
     RecyclableObject.Recycle(popup);
     popup = null;
 }
Ejemplo n.º 4
0
        IEnumerator ShowUIWithLoadData(IUIBase i_ui_base, object data = null)
        {
            while (HasLockUI(i_ui_base, m_switch_lock_name))
            {
                yield return(0);
            }

            LockUI(i_ui_base, m_switch_lock_name);

            //加载数据相关
            if (NeedLoadDataBeforeShow(i_ui_base))
            {
                UIAsyncRequestResult res = RecyclableObject.Create <UIAsyncRequestResult>();
                res.Success = true;
                yield return(i_ui_base.LoadData(res));

                if (!res.Success)
                {
                    RecyclableObject.Recycle(res);
                    UnLockUI(i_ui_base, m_switch_lock_name);
                    yield break;
                }
            }

            if (i_ui_base.IsStateUI)
            {
                if (ms_stack_manager != null)
                {
                    ms_stack_manager.OnShowMainUI(i_ui_base);
                }

                yield return(CloseAllShowedUI());
            }

            yield return(ShowUIBase(i_ui_base, data));

            ms_showed_ui[(int)i_ui_base.Name] = i_ui_base;

            //显示附属UI
            if (i_ui_base.IsStateUI)
            {
                for (int i = 0; i < i_ui_base.MateUIList.Count; ++i)
                {
                    ShowUI(i_ui_base.MateUIList[i]);
                }
            }

            //加载数据相关
            if (NeedLoadDataBeforeShow(i_ui_base))
            {
                i_ui_base.UpdateUIOnShow();
            }
            else
            {
                i_ui_base.UpdateUIByDefaultDataOnShow();
                UIAsyncRequestResult res = RecyclableObject.Create <UIAsyncRequestResult>();
                res.Success = true;
                yield return(i_ui_base.LoadData(res));

                RecyclableObject.Recycle(res);
                i_ui_base.UpdateUIOnShow();
            }

            UnLockUI(i_ui_base, m_switch_lock_name);
        }