Beispiel #1
0
 void RemoveEUIToIdDec(T_UIConfig.E_UI eui)
 {
     if (m_EUIToIdDec.ContainsKey(eui))
     {
         m_EUIToIdDec.Remove(eui);
     }
 }
Beispiel #2
0
 /// <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();
 }
Beispiel #3
0
    /// <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);
    }
Beispiel #4
0
    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);
    }
Beispiel #5
0
 /// <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));
         }
     }
 }
Beispiel #6
0
    /// <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);
        }
    }
Beispiel #7
0
    /// <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);
    }
Beispiel #8
0
 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);
             }
         }
     }
 }
Beispiel #9
0
    /// <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);
    }
Beispiel #10
0
    /// <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();
    }
Beispiel #11
0
 /// <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);
 }
Beispiel #12
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);
    }
Beispiel #13
0
    //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));
    }