Example #1
0
 private void LoadPageCallback(UIBase ub, int uiid)
 {
     if (ub != null)
     {
         if (ub.IsNeedMask)
         {
             if (!m_bgMask.gameObject.activeInHierarchy)
             {
                 m_bgMask.Show();
             }
             m_bgMask.transform.SetSiblingIndex(-2);
         }
         ub.transform.SetAsLastSibling();
         if (null != m_curPage)
         {
             m_curPage.Close();
         }
         m_curPage = ub;
         ResMgr.Log(Tag, "LoadCallback", "load ui succ " + ub.GetType().ToString());
     }
     else
     {
         ResMgr.LogError(Tag, "LoadCallback", "load ui fail");
     }
 }
Example #2
0
 public void CloseThis(UIBase _uiBase)
 {
     if (_uiBase.Close() == true)
     {
         if (uiStack.Count != 0)
         {
             var tempUI = uiStack.Pop();
         }
     }
 }
Example #3
0
        public static void Close(string uiName, Action callback = null)
        {
            UIBase ui = null;

            if (UIDic.ContainsKey(uiName))
            {
                ui = UIDic[uiName];
                ui.Close();
                OpenUIDic.Remove(uiName);
            }
        }
Example #4
0
 static int Close(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         UIBase obj = (UIBase)ToLua.CheckObject <UIBase>(L, 1);
         obj.Close();
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
Example #5
0
        /// <summary>
        /// 检查是否需要关闭前一级UI
        /// </summary>
        private static void CheckClosePrevUI(UIBase prevUI, UIBase currUI)
        {
            if (currUI is null)
            {
                return;
            }

            if (!currUI.IsHidePrevious)
            {
                return;
            }

            if (!ReferenceEquals(null, prevUI))
            {
                prevUI.Close();
            }
        }
Example #6
0
    /// <summary>
    /// 关闭指定层上最高的UI
    /// </summary>
    private void CloseTopUI()
    {
        int    order  = 0;
        UIBase target = null;

        foreach (var uiPair in _uiDic)
        {
            int uiOrder = uiPair.Value.SortOrder;
            if (uiOrder >= order)
            {
                target = uiPair.Value;
            }
        }
        if (target != null)
        {
            target.Close();
        }
    }
Example #7
0
    /// <summary>
    /// 스택의 맨 위에 있는 UI를 닫습니다.
    /// </summary>
    public void CloseTop()
    {
        UIBase nowUI = null;

        if (uiStack.Count != 0)
        {
            nowUI = uiStack.Pop();
            Debug.Log("Pop : " + nowUI.name);
            if (nowUI.Close() == true) // 정상적으로 닫혔을 때만
            {
            }
            else // 정상적으로 안닫혔다면 다시 넣기...Push
            {
                uiStack.Push(nowUI);
            }
        }
        else
        {
            Debug.Log("닫을 UI가 없어");
        }
    }