/// <summary> /// 更改面板状态 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="windowTypeEnum"></param> /// <param name="showModeEnum"></param> public static T ChangePanelState <T>(WindowTypeEnum windowTypeEnum, UIPanelStateEnum panelStateEnum) where T : BasePanel { T t = default(T); t = GetPanel <T>(windowTypeEnum); if (t) { switch (panelStateEnum) { case UIPanelStateEnum.Open: t.Open(); break; case UIPanelStateEnum.Hide: t.Hide(); break; default: break; } } else { Debug.Log("面板不存在" + windowTypeEnum + "窗口中"); } return(t); }
/// <summary> /// 创建面板 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="windowTypeEnum"></param> /// <returns></returns> public static T CreatePanel <T>(WindowTypeEnum windowTypeEnum, UIPanelStateEnum panelStateEnum = UIPanelStateEnum.Open) where T : BasePanel { T t = default(T); t = GetPanel <T>(windowTypeEnum); if (t == null) { T[] ts = Resources.LoadAll <T>("UIPanel"); if (ts.Length > 0) { t = SourcesManager.LoadSources <T>(ts[0], windowsDic[windowTypeEnum].transform); if (!PanelDic.ContainsKey(windowTypeEnum)) { PanelDic.Add(windowTypeEnum, new List <BasePanel> { t }); } else { PanelDic[windowTypeEnum].RemoveNull(); PanelDic[windowTypeEnum].Add(t); } } else { Debug.Log("资源中不存在" + t.GetType().Name); } } switch (panelStateEnum) { case UIPanelStateEnum.Open: t.Open(); break; case UIPanelStateEnum.Hide: t.Hide(); break; default: break; } return(t); }