/// <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; }); } }
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); } }