Esempio n. 1
0
    /// <summary>
    /// 对UI进行排序
    /// </summary>
    public void SortLayer(UGUI_LAYER layer, List <UIBase2D> listWindow)
    {
        if (listWindow == null)
        {
            return;
        }

        int depth = (int)layer;

        for (int i = 0; i < listWindow.Count; i++)
        {
            listWindow[i].SetUIDepth(depth);
            depth += m_depthInterval;
        }
    }
Esempio n. 2
0
    /// <summary>
    /// 对某个子UI重新排序
    /// </summary>
    /// <param name="window"></param>
    public void SortChildLayer(IWindowBase window)
    {
        UIBase2D uibase2D = window as UIBase2D;

        if (uibase2D == null)
        {
            return;
        }

        UGUI_LAYER      layer       = uibase2D.Getlayer();
        List <UIBase2D> listWindows = null;

        if (!m_openMap.TryGetValue(layer, out listWindows))
        {
            listWindows = new List <UIBase2D>();
            m_openMap.Add(layer, listWindows);
        }
        listWindows.Remove(uibase2D);
        listWindows.Add(uibase2D);
        SortLayer(layer, listWindows);
    }
Esempio n. 3
0
    public void Add(IWindowBase window)
    {
        if (window == null)
        {
            return;
        }
        UIBase2D uibase2D = window as UIBase2D;

        uibase2D.Initialize();
        uibase2D.transform.SetParent(transform, false);

        UGUI_LAYER      layer       = uibase2D.Getlayer();
        List <UIBase2D> listWindows = null;

        if (!m_openMap.TryGetValue(layer, out listWindows))
        {
            listWindows = new List <UIBase2D>();
            m_openMap.Add(layer, listWindows);
        }
        listWindows.Add(uibase2D);
        SortLayer(layer, listWindows);
    }