/// <summary>
    /// 打开面板
    /// </summary>
    /// <param name="pageLoadPath">加载的相对路径</param>
    public void ShowPage(string pkg, string pageName)
    {
        FairyUI currXPage = CheckPageExist(pageName);

        if (currXPage != null)
        {
            if (currXPage.fairyUIState == FairyUIState.CLOSE || currXPage.needPool)
            {
                CheckUIMode(currXPage);
                currXPage.Show();
                currShowUI = currXPage;
                Debug.Log("直接打开");
            }
        }
        else
        {
            currXPage = new FairyUI();
            currXPage.InitUI(pkg, pageName);
            currXPage.Awake();

            LoadUI(pkg, pageName, delegate(GObject obj)
            {
                currXPage.AddGObject(obj.asCom);
                allPages.Add(pageName, currXPage);
                CheckUIMode(currXPage);
                currXPage.Start();
                currShowUI = currXPage;
            });
        }
    }
Ejemplo n.º 2
0
 static int Show(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         FairyUI obj = (FairyUI)ToLua.CheckObject <FairyUI>(L, 1);
         obj.Show();
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
    /// <summary>
    /// 隐藏当前的页面
    /// </summary>
    public bool HideCurrPage()
    {
        if (currShowUI != null)
        {
            if (currShowUI.fairyUIMode == FairyUIMode.HideOtherAndNeedBack)
            {
                if (stackPages.Count > 0)
                {
                    if (stackPages.Peek().Equals(currShowUI))
                    {
                        FairyUI topPage = stackPages.Pop();
                        topPage.Hide();
                        currShowUI = null;
                        if (stackPages.Count > 0)
                        {
                            FairyUI _curr = stackPages.Peek();
                            _curr.Show();
                            currShowUI = _curr;
                        }
                    }
                }
            }
            else
            {
                if (currShowUI.fairyUIState == FairyUIState.OPEN && !currShowUI.needPool)
                {
                    currShowUI.Hide();
                    currShowUI = null;
                }
                else if (currShowUI.needPool)
                {
                    currShowUI.Hide();
                    if (!currShowUI.HasGInStack())
                    {
                        currShowUI = null;
                    }
                }
            }

            return(true);
        }
        else
        {
            Debug.Log("currShowPage is null");
            return(false);
        }
    }