public IPanel CreateUI(PanelSearchKeys panelSearchKeys) { var panel = UIKit.Config.LoadPanel(panelSearchKeys); UIKit.Root.SetLevelOfPanel(panelSearchKeys.Level, panel); UIKit.Config.SetDefaultSizeOfPanel(panel); panel.Transform.gameObject.name = panelSearchKeys.GameObjName ?? panelSearchKeys.PanelType.Name; panel.Info = new PanelInfo() { AssetBundleName = panelSearchKeys.AssetBundleName, Level = panelSearchKeys.Level, GameObjName = panelSearchKeys.GameObjName, PanelType = panelSearchKeys.PanelType, UIData = panelSearchKeys.UIData }; UIKit.Table.Add(panel); panel.Init(panelSearchKeys.UIData); return(panel); }
public IEnumerable <IPanel> GetPanelsByPanelSearchKeys(PanelSearchKeys panelSearchKeys) { if (panelSearchKeys.PanelType.IsNotNull() && (panelSearchKeys.GameObjName.IsNotNullAndEmpty() || panelSearchKeys.Panel.IsNotNull())) { return(TypeIndex.Get(panelSearchKeys.PanelType) .Where(p => p.Transform.name == panelSearchKeys.GameObjName || p == panelSearchKeys.Panel)); } if (panelSearchKeys.PanelType.IsNotNull()) { return(TypeIndex.Get(panelSearchKeys.PanelType)); } if (panelSearchKeys.Panel.IsNotNull()) { return(GameObjectNameIndex.Get(panelSearchKeys.Panel.Transform.gameObject.name).Where(p => p == panelSearchKeys.Panel)); } if (panelSearchKeys.GameObjName.IsNotNullAndEmpty()) { return(GameObjectNameIndex.Get(panelSearchKeys.GameObjName)); } return(Enumerable.Empty <IPanel>()); }
public void RemoveUI(PanelSearchKeys panelSearchKeys) { var panel = UIKit.Table.GetPanelsByPanelSearchKeys(panelSearchKeys).FirstOrDefault(); if (panel != null) { UIKit.Table.Remove(panel); } }
/// <summary> /// 隐藏UI /// </summary> /// <param name="uiBehaviourName"></param> public void HideUI(PanelSearchKeys panelSearchKeys) { var retPanel = UIKit.Table.GetPanelsByPanelSearchKeys(panelSearchKeys).FirstOrDefault(); if (retPanel != null) { retPanel.Hide(); } }
public static void HidePanel(string panelName) { var panelSearchKeys = PanelSearchKeys.Allocate(); panelSearchKeys.GameObjName = panelName; UIManager.Instance.HideUI(panelSearchKeys); panelSearchKeys.Recycle2Cache(); }
public static void ClosePanel(UIPanel panel) { var panelSearchKeys = PanelSearchKeys.Allocate(); panelSearchKeys.Panel = panel; UIManager.Instance.CloseUI(panelSearchKeys); panelSearchKeys.Recycle2Cache(); }
public static void HidePanel <T>() where T : UIPanel { var panelSearchKeys = PanelSearchKeys.Allocate(); panelSearchKeys.PanelType = typeof(T); UIManager.Instance.HideUI(panelSearchKeys); panelSearchKeys.Recycle2Cache(); }
/// <summary> /// 关闭并卸载UI /// </summary> /// <param name="behaviourName"></param> public void CloseUI(PanelSearchKeys panelSearchKeys) { var panel = UIKit.Table.GetPanelsByPanelSearchKeys(panelSearchKeys).FirstOrDefault(); if (panel as UIPanel) { panel.Close(); UIKit.Table.Remove(panel); } }
public static UIPanel GetPanel(string panelName) { var panelSearchKeys = PanelSearchKeys.Allocate(); panelSearchKeys.GameObjName = panelName; var retPanel = UIManager.Instance.GetUI(panelSearchKeys); panelSearchKeys.Recycle2Cache(); return(retPanel); }
public static T GetPanel <T>() where T : UIPanel { var panelSearchKeys = PanelSearchKeys.Allocate(); panelSearchKeys.PanelType = typeof(T); var retPanel = UIManager.Instance.GetUI(panelSearchKeys); panelSearchKeys.Recycle2Cache(); return(retPanel as T); }
/// <summary> /// 关闭并卸载UI /// </summary> /// <param name="behaviourName"></param> public void CloseUI(PanelSearchKeys panelSearchKeys) { var panel = UIKit.Table.GetPanelsByPanelSearchKeys(panelSearchKeys).LastOrDefault(); if (panel as UIPanel) { panel.Close(); UIKit.Table.Remove(panel); panel.Info.Recycle2Cache(); panel.Info = null; } }
public static void Back <T>() { var panelSearchKeys = PanelSearchKeys.Allocate(); panelSearchKeys.PanelType = typeof(T); UIManager.Instance.CloseUI(panelSearchKeys); panelSearchKeys.Recycle2Cache(); Stack.Pop(); }
public IPanel OpenUI(PanelSearchKeys panelSearchKeys) { var retPanel = UIKit.Table.GetPanelsByPanelSearchKeys(panelSearchKeys).FirstOrDefault(); if (retPanel == null) { retPanel = CreateUI(panelSearchKeys); } retPanel.Open(panelSearchKeys.UIData); retPanel.Show(); return(retPanel); }
public GameObject LoadPanelPrefab(PanelSearchKeys panelSearchKeys) { if (panelSearchKeys.PanelType.IsNotNull() && panelSearchKeys.GameObjName.IsNullOrEmpty()) { return(mResLoader.LoadSync <GameObject>(panelSearchKeys.PanelType.Name)); } if (panelSearchKeys.AssetBundleName.IsNotNullAndEmpty()) { return(mResLoader.LoadSync <GameObject>(panelSearchKeys.AssetBundleName, panelSearchKeys.GameObjName)); } return(mResLoader.LoadSync <GameObject>(panelSearchKeys.GameObjName)); }
public static UIPanel OpenPanel(string panelName, UILevel level = UILevel.Common, string assetBundleName = null) { var panelSearchKeys = PanelSearchKeys.Allocate(); panelSearchKeys.Level = level; panelSearchKeys.AssetBundleName = assetBundleName; panelSearchKeys.GameObjName = panelName; var retPanel = UIManager.Instance.OpenUI(panelSearchKeys); panelSearchKeys.Recycle2Cache(); return(retPanel as UIPanel); }
public static void Back(UIPanel currentPanel) { if (currentPanel.IsNotNull()) { var panelSearchKeys = PanelSearchKeys.Allocate(); panelSearchKeys.GameObjName = currentPanel.name; UIManager.Instance.CloseUI(panelSearchKeys); panelSearchKeys.Recycle2Cache(); } Stack.Pop(); }
public static void Back(string currentPanelName) { if (currentPanelName.IsNotNullAndEmpty()) { var panelSearchKeys = PanelSearchKeys.Allocate(); panelSearchKeys.GameObjName = currentPanelName; UIManager.Instance.CloseUI(panelSearchKeys); panelSearchKeys.Recycle2Cache(); } Stack.Pop(); }
public void Pop() { var previousPanelInfo = mUIStack.Pop(); var panelSearchKeys = PanelSearchKeys.Allocate(); panelSearchKeys.GameObjName = previousPanelInfo.GameObjName; panelSearchKeys.Level = previousPanelInfo.Level; panelSearchKeys.UIData = previousPanelInfo.UIData; panelSearchKeys.AssetBundleName = previousPanelInfo.AssetBundleName; panelSearchKeys.PanelType = previousPanelInfo.PanelType; UIManager.Instance.OpenUI(panelSearchKeys); panelSearchKeys.Recycle2Cache(); }
public void Push(IPanel view) { if (view != null) { mUIStack.Push(view.Info); view.Close(); var panelSearchKeys = PanelSearchKeys.Allocate(); panelSearchKeys.GameObjName = view.Transform.name; UIManager.Instance.RemoveUI(panelSearchKeys); panelSearchKeys.Recycle2Cache(); } }
public virtual IPanel LoadPanel(PanelSearchKeys panelSearchKeys) { var panelLoader = new DefaultPanelLoader(); panelLoader.LoadPanelPrefab(panelSearchKeys); var panelPrefab = panelLoader.LoadPanelPrefab(panelSearchKeys); var obj = Object.Instantiate(panelPrefab); var retScript = obj.GetComponent <UIPanel>(); retScript.As <IPanel>().Loader = panelLoader; Debug.Log(retScript.As <IPanel>()); return(retScript); }
public static T OpenPanel <T>(IUIData uiData, PanelOpenType panelOpenType = PanelOpenType.Single, string assetBundleName = null, string prefabName = null) where T : UIPanel { var panelSearchKeys = PanelSearchKeys.Allocate(); panelSearchKeys.OpenType = panelOpenType; panelSearchKeys.Level = UILevel.Common; panelSearchKeys.PanelType = typeof(T); panelSearchKeys.AssetBundleName = assetBundleName; panelSearchKeys.GameObjName = prefabName; panelSearchKeys.UIData = uiData; T retPanel = UIManager.Instance.OpenUI(panelSearchKeys) as T; panelSearchKeys.Recycle2Cache(); return(retPanel); }
/// <summary> /// 获取UIBehaviour /// </summary> /// <param name="uiBehaviourName"></param> /// <returns></returns> public UIPanel GetUI(PanelSearchKeys panelSearchKeys) { return(UIKit.Table.GetPanelsByPanelSearchKeys(panelSearchKeys).FirstOrDefault() as UIPanel); }