Ejemplo n.º 1
0
 /// <summary>
 /// 关闭界面
 /// </summary>
 /// <param name="wins">WindowBase</param>
 /// <param name="isDestroy"></param>
 public void F_CloseUI(WindowBase wins)
 {
     T_UIConfig.UI_TYPE type = wins.F_GetUIType();
     CloseUIById(wins.F_GetId());
     ResetDepth(type);
     SetFullScreenMask();
 }
Ejemplo n.º 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();
 }
Ejemplo n.º 3
0
 /// <summary>
 /// 通过Id关闭界面
 /// </summary>
 /// <param name="id"></param>
 /// <param name="isDestroy"></param>
 public void F_CloseUI(int id)
 {
     if (m_UIList.ContainsKey(id))
     {
         T_UIConfig.UI_TYPE type = CheckUIType(GetConfigUI(id));
         CloseUIById(id);
         ResetDepth(type);
         SetFullScreenMask();
     }
 }
Ejemplo n.º 4
0
 /// <summary>
 /// 通过 UItype关闭界面
 /// </summary>
 /// <param name="type"></param>
 /// <param name="isDestroy"></param>
 public void F_CloseUI(T_UIConfig.UI_TYPE type)
 {
     for (int i = m_IdPosList.Count - 1; i >= 0; i--)
     {
         int        id   = m_IdPosList[i];
         WindowBase winb = m_UIList[id];
         if (winb.F_GetUIType() == type)
         {
             CloseUIById(id);
         }
     }
     ResetDepth(type);
     SetFullScreenMask();
 }
Ejemplo n.º 5
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();
    }
Ejemplo n.º 6
0
    /// <summary>
    /// 根据不同类型获取不同父节点
    /// </summary>
    /// <param name="type">UI类型</param>
    /// <returns></returns>
    Transform GetParent(T_UIConfig.UI_TYPE type)
    {
        switch (type)
        {
        case T_UIConfig.UI_TYPE.UNDER_WIN:
            return(m_UnderWinListGo);

        case T_UIConfig.UI_TYPE.WIN:
            return(m_WinListGo);

        case T_UIConfig.UI_TYPE.TIP:
            return(m_TiplistGo);

        case T_UIConfig.UI_TYPE.TOP:
            return(m_ToplistGo);

        default:
            return(m_WinListGo);
        }
    }
Ejemplo n.º 7
0
    /// <summary>
    /// 获取不同类型的实例个数
    /// </summary>
    /// <param name="uitype"></param>
    /// <returns></returns>
    int GetCountByUIType(T_UIConfig.UI_TYPE uitype)
    {
        int count = 0;

        using (var view = m_UIList.GetEnumerator())
        {
            while (view.MoveNext())
            {
                var winbs = view.Current.Value;
                if (winbs != null)
                {
                    if (winbs.F_GetUIType() == uitype)
                    {
                        count++;
                    }
                }
            }
            view.Dispose();
        }
        return(count);
    }
Ejemplo n.º 8
0
    /// <summary>
    /// 重新设置UI的层级
    /// </summary>
    /// <param name="type"></param>
    void ResetDepth(T_UIConfig.UI_TYPE currentType)
    {
        int undercount = 0;
        int wincount   = 0;
        int tipcount   = 0;
        int topcount   = 0;
        int id;

        WindowBase tmpTop = null;

        for (int i = 0; i < m_IdPosList.Count; i++)
        {
            id = m_IdPosList[i];
            if (m_UIList.ContainsKey(id))
            {
                WindowBase winbs = m_UIList[id];
                if (winbs == null)
                {
                    continue;
                }
                CheckTop(winbs, ref tmpTop);
                Vector3            localPos = winbs.transform.localPosition;
                T_UIConfig.UI_TYPE type     = winbs.F_GetUIType();
                if (type != currentType)
                {
                    continue;
                }
                Canvas canvas = TransformUtil.Add <Canvas>(winbs.gameObject);
                switch (type)
                {
                case T_UIConfig.UI_TYPE.UNDER_WIN:
                    undercount++;
                    winbs.transform.SetSiblingIndex(undercount * 2);
                    localPos.z = m_StartDepth - undercount * m_depth;
                    winbs.transform.localPosition = localPos;
                    canvas.sortingOrder           = m_StartDepth * (int)type + undercount * m_depth;
                    winbs.V_SortingOrder          = canvas.sortingOrder;
                    break;

                case T_UIConfig.UI_TYPE.WIN:
                    wincount++;
                    winbs.transform.SetSiblingIndex(wincount * 2);
                    localPos.z = m_StartDepth - wincount * m_depth;
                    winbs.transform.localPosition = localPos;
                    canvas.sortingOrder           = m_StartDepth * (int)type + wincount * m_depth;
                    winbs.V_SortingOrder          = canvas.sortingOrder;
                    break;

                case T_UIConfig.UI_TYPE.TIP:
                    tipcount++;
                    winbs.transform.SetSiblingIndex(tipcount * 2);
                    localPos.z = m_StartDepth - tipcount * m_depth;
                    winbs.transform.localPosition = localPos;
                    canvas.sortingOrder           = m_StartDepth * (int)type + tipcount * m_depth;
                    winbs.V_SortingOrder          = canvas.sortingOrder;
                    break;

                case T_UIConfig.UI_TYPE.TOP:
                    topcount++;
                    winbs.transform.SetSiblingIndex(topcount * 2);
                    localPos.z = m_StartDepth - topcount * m_depth;
                    winbs.transform.localPosition = localPos;
                    canvas.sortingOrder           = m_StartDepth * (int)type + topcount * m_depth;
                    winbs.V_SortingOrder          = canvas.sortingOrder;
                    break;
                }
            }
        }

        if (currentType == T_UIConfig.UI_TYPE.WIN)
        {
            CheckHidenWin();
        }
        //设置最上层WIN
        OnTopWin(tmpTop);
    }
Ejemplo n.º 9
0
    void SetRootPos(Transform root, T_UIConfig.UI_TYPE type)
    {
        Array typeArray = Enum.GetValues(typeof(T_UIConfig.UI_TYPE));

        root.localPosition = new Vector3(0, 0, m_StartDepth * (typeArray.Length - (int)type));
    }