void RemoveEUIToIdDec(T_UIConfig.E_UI eui) { if (m_EUIToIdDec.ContainsKey(eui)) { m_EUIToIdDec.Remove(eui); } }
/// <summary> /// 初始设置 /// </summary> /// <param name="id"></param> /// <param name="ui"></param> /// <param name="type"></param> public void F_SetId(int id, T_UIConfig.E_UI ui, T_UIConfig.UI_TYPE type) { m_id = id; m_ui = ui; m_Type = type; m_config = ConfigManager.UIConfig.GetData(ui); ShowAnimation(); }
/// <summary> /// 判断UI类型 /// </summary> /// <param name="id">UI 唯一配置表ID</param> /// <returns>UI类型</returns> T_UIConfig.UI_TYPE CheckUIType(T_UIConfig.E_UI id) { T_UIConfig config = GetConfigData(id); if (config == null) { return(T_UIConfig.UI_TYPE.NONE); } return(config.UI_Type); }
public T_UIConfig GetData(T_UIConfig.E_UI E_ui) { short id = (short)E_ui; if (itemData.ContainsKey(id)) { return(itemData[id]); } //WorldMgr.ShowMessageLog("T_UIConfig not find >> id:"+id); Loger.Error("T_UIConfig not find >> id:" + id); return(null); }
/// <summary> /// 设置最底层 /// </summary> /// <param name="eui"></param> public void MoveToBottom(T_UIConfig.E_UI eui) { if (m_EUIToIdDec.ContainsKey(eui)) { List <int> idlist = m_EUIToIdDec[eui]; if (idlist.Count > 0) { m_IdPosList.Remove(idlist[0]); m_IdPosList.Insert(0, idlist[0]); ResetDepth(CheckUIType(eui)); } } }
/// <summary> /// 获取实例 /// </summary> /// <param name="id"></param> /// <returns></returns> public WindowBase F_GetSimpleScriptByUI(T_UIConfig.E_UI eui) { List <WindowBase> list = F_GetListScriptById(eui); if (list.Count > 0) { return(list[0]); } else { Loger.Error("没有 " + eui.ToString() + " 实例"); return(null); } }
/// <summary> /// 获取UI配置表信息 /// </summary> /// <param name="id">UI 唯一配置表ID</param> /// <returns></returns> T_UIConfig GetConfigData(T_UIConfig.E_UI id) { if (id == T_UIConfig.E_UI.NONE) { return(null); } T_UIConfig config = ConfigManager.UIConfig.GetData(id); if (config == null) { return(null); } return(config); }
void RemoveEUIToIdDec(T_UIConfig.E_UI eui, int id) { if (m_EUIToIdDec.ContainsKey(eui)) { List <int> idlist = m_EUIToIdDec[eui]; if (idlist.Exists(delegate(int i) { return(i == id); })) { idlist.Remove(id); if (idlist.Count == 0) { m_EUIToIdDec.Remove(eui); } } } }
/// <summary> /// 获取实例List /// </summary> /// <param name="id"></param> /// <returns></returns> public List <WindowBase> F_GetListScriptById(T_UIConfig.E_UI eui) { List <WindowBase> list = new List <WindowBase>(); if (m_EUIToIdDec.ContainsKey(eui)) { List <int> ids = m_EUIToIdDec[eui]; for (int i = 0; i < ids.Count; i++) { int id = ids[i]; if (m_UIList.ContainsKey(id)) { list.Add(m_UIList[id]); } } } return(list); }
/// <summary> /// 通过 eui关闭界面 /// </summary> /// <param name="eui"></param> /// <param name="isDestroy"></param> public void F_CloseUI(T_UIConfig.E_UI eui) { T_UIConfig.UI_TYPE type = CheckUIType(eui); for (int i = m_IdPosList.Count - 1; i >= 0; i--) { int id = m_IdPosList[i]; if (m_UIList.ContainsKey(id)) { WindowBase winb = m_UIList[id]; if (winb.F_GetEUI() == eui) { CloseUIById(id); } } } ResetDepth(type); SetFullScreenMask(); }
/// <summary> /// 判断是否打开 /// </summary> /// <param name="id">UI配置Id</param> /// <returns></returns> public bool F_IsOpenById(T_UIConfig.E_UI eui) { return(m_EUIToIdDec.ContainsKey(eui) && m_EUIToIdDec[eui].Count > 0); }
/// <summary> /// 显示界面; /// </summary> /// <param name="eUI">配置表ID</param> /// <param name="obj">参的参数</param> /// <param name="onComplete">完成回调函数</param> public void F_ShowUI(T_UIConfig.E_UI eUI, object obj = null, ActionOnComplete onComplete = null) { if (this.IsOpenUI != null && !this.IsOpenUI.Invoke(eUI)) { return; } T_UIConfig config = GetConfigData(eUI); if (config.ShowMask == (int)MaskType.BlurTexture) { F_BlurScreenShot(); } //使用已经打开的UI if (config.MoreOpen == false && m_EUIToIdDec.ContainsKey(eUI)) { List <int> idlist = m_EUIToIdDec[eUI]; if (idlist.Count > 0) { WindowBase wdb = m_UIList[idlist[0]]; //如果需要背景模糊,得先处理再打开界面; wdb.gameObject.SetActive(true); wdb.RegisterEvent(); wdb.F_OnData(obj); wdb.F_AddSound(); //置顶 MoveToTop(eUI); SetFullScreenMask(); TransformUtil.ChangeLayer(wdb.transform, 5, 0); //回调 if (onComplete != null) { onComplete(wdb); } //设置Clear类型 //ResMgr.GetInstance().SetClearType(wdb.gameObject, clear); } return; } if ((MaskType)config.ShowMask == MaskType.BlackMask) { setFullScreenTop(); } //初始化新的UI if (!m_EUIToIdDec.ContainsKey(eUI)) { List <int> ids = new List <int>(); m_EUIToIdDec.Add(eUI, ids); } //生成Id int id = buildId(); m_IdPosList.Add(id); UIdata data = new UIdata(); data.id = id; data.config = config; data.obj = obj; data.onComplete = onComplete; m_DataModule.Add(id, data); if (data.config.IsShowLoading) { UIManager.F_GetInstance().F_ShowUI(T_UIConfig.E_UI.TIP_SHOW_LOADING); } AssetBundleManager.GetInstance().Load(config.Prefab, EnResourceType.UI, EnLoadPrority.UI, LoadAssetComplete); }
//public List<T_UIConfig> GetGroup(){ // // if (groupData.ContainsKey (id)) { // return groupData[id]; // } // //WorldMgr.ShowMessageLog("T_UIConfig not find >> id:"+id); // Loger.Error ("T_UIConfig not find Group >> id:"+id); // return null; //} public bool HasData(T_UIConfig.E_UI E_ui) { short id = (short)E_ui; return(itemData.ContainsKey(id)); }