public static UIPageBase Generate(Type type, Transform parentTransform) { UIPageBase page = TResources.Instantiate <UIPageBase>("UI/Pages/" + type.ToString(), parentTransform); page.Init(); return(page); }
protected T ShowPage <T>(bool useAnim) where T : UIPageBase { T page = UIPageBase.Show <T>(tf_OverlayPage, useAnim); OnAdjustPageSibling(); return(page); }
public virtual void PopPage() { if (OpenPages.Count > 0) { var poppedPage = OpenPages[OpenPages.Count - 1]; if (poppedPage != null) { ClosePage(poppedPage); } } if (OpenPages.Count > 0) { var nextPage = OpenPages[OpenPages.Count - 1]; if (nextPage != null) { SetActivePage(nextPage); } else { ActivePage = null; } } else { ActivePage = null; } }
protected virtual void OnPageExit(UIPageBase page) { page.SetActive(false); page.transform.SetParent(m_PageStorage); page.OnStop(); m_Pages.Remove(page); OnAdjustPageSibling(); }
bool CheckPageStorage(Type type) { if (!m_PageStored.ContainsKey(type)) { UIPageBase page = UIPageBase.Generate(type, m_PageStorage); page.SetActive(false); m_PageStored.Add(type, page); return(true); } return(false); }
public override void OnInspectorGUI() { UIPageBase ui = (UIPageBase)target; EditorGUILayout.BeginHorizontal(); ui.UseBoxCollider = GUILayout.Toggle(ui.UseBoxCollider, "阻挡", "button", GUILayout.Width(35)); ui.UseBlackMask = GUILayout.Toggle(ui.UseBlackMask, "蒙版", "button", GUILayout.Width(35)); ui.HideOldPages = GUILayout.Toggle(ui.HideOldPages, "关旧", "button", GUILayout.Width(35)); ui.BackPopPrePages = GUILayout.Toggle(ui.BackPopPrePages, "弹旧", "button", GUILayout.Width(35)); EditorGUILayout.EndHorizontal(); base.OnInspectorGUI(); }
public void ClosePage(UIPageBase closePage, bool activateNextPage = true) { if (OpenPages.Remove(closePage) == true) { if (ActivePage != null && ActivePage.IsScreenActivated == true) { ActivePage.OnPageDeactivated(true); } closePage.OnPageClosed(); } }
protected void SetActivePage(UIPageBase newActivePage) { if (ActivePage != null) { ActivePage.OnPageDeactivated(newActivePage.HideOldPages); } ActivePage = newActivePage; RectTransform rect = ActivePage.GetComponent <RectTransform>(); rect.SetAsLastSibling(); ActivePage.OnPageActivated(); }
public void OpenPage(string page, System.Action <UIPageBase> callback) { for (int idx = 0; idx < OpenPages.Count; idx++) { if (OpenPages[idx] != null && OpenPages[idx].name == page) { UIPageBase Page = OpenPages[idx]; OpenPages.RemoveAt(idx); OpenPages.Add(Page); callback(Page); } } LoadPage(page, (openPage) => { if (openPage != null) { OpenPages.Add(openPage); openPage.OnPageOpened(); } callback(openPage); }); }
protected void SetPageViewMode(UIPageBase page, bool overlay) => TCommonUI.ReparentRestretchUI(page.rectTransform, overlay ? tf_OverlayPage : tf_CameraPage);
public void LoadPage(string page, System.Action <UIPageBase> func, bool hidePage = false) { for (int idx = 0; idx < LoadedPages.Count; idx++) { if (LoadedPages[idx] != null && LoadedPages[idx].name == page) { func(LoadedPages[idx]); } } if (!string.IsNullOrEmpty(page)) { string assetName = page + "Page"; string abName = AppConst.ResDir + "Prefabs/UI/Page/" + assetName + ".prefab"; ResManager.LoadPrefab(abName, delegate(UnityEngine.Object[] objs) { if (objs.Length == 0) { return; } GameObject newPageGameObject = objs[0] as GameObject; if (newPageGameObject != null) { newPageGameObject = UIUtils.AddChild(PageRoot, newPageGameObject); if (newPageGameObject.activeSelf == true) { Debug.Log("newPageGameObject activity true:" + newPageGameObject.name); } else { Debug.Log("newPageGameObject activity false:" + newPageGameObject.name); } if (newPageGameObject != null) { UIPageBase newPage = newPageGameObject.GetComponent <UIPageBase>(); if (newPage != null) { LoadedPages.Add(newPage); // Allow the Page to initialize itself newPage.InitializePage(); // Hide the Page if requested if (hidePage == true) { newPage.HidePage(); } func(newPage); } else { Debug.LogWarning("UISystem::LoadPage() Failed to instance new Page with name: " + page); } } else { Debug.LogWarning("UISystem::LoadPage() Failed to add new Page to parent UISystem with name: " + page); } } else { Debug.LogWarning("UISystem::LoadPage() Failed to load new Page with name: " + page); } }); } else { Debug.LogWarning("UISystem::LoadPage() No Page Data for Page with name: " + page); } }