Exemplo n.º 1
0
    private static int CompareDepthLinkedList(SortingOrderRenderer x, SortingOrderRenderer y)
    {
        var aList  = x.m_depthLinkedList;
        var bList  = y.m_depthLinkedList;
        var length = Mathf.Max(aList.Count, bList.Count);

        for (int i = 0; i < length; i++)
        {
            if (i >= aList.Count && i >= bList.Count)
            {
                return(0);
            }
            else if (i >= aList.Count)
            {
                return(-1);
            }
            else if (i >= bList.Count)
            {
                return(1);
            }
            else if (aList[i] < bList[i])
            {
                return(-1);
            }
            else if (aList[i] > bList[i])
            {
                return(1);
            }
        }
        return(0);
    }
Exemplo n.º 2
0
    private static int CompareDepthLinkedList(SortingOrderRenderer x, SortingOrderRenderer y)
    {
        var aList = x.m_depthLinkedList;
        var bList = y.m_depthLinkedList;
        var length = Mathf.Max(aList.Count, bList.Count);

        for (int i = 0; i < length; i++)
        {
            if (i >= aList.Count && i >= bList.Count)
                return 0;
            else if (i >= aList.Count)
                return -1;
            else if (i >= bList.Count)
                return 1;
            else if (aList[i] < bList[i])
                return -1;
            else if (aList[i] > bList[i])
                return 1;
        }
        return 0;
    }
Exemplo n.º 3
0
    public void ShowPanel(Transform parent = null, bool addMask = false, Action onShow = null)
    {
        if (m_isOpen)
        {
            return;
        }

        m_isOpenLogic = true;
        if (m_preloaded)
        {
            m_isOpen = true;
            m_go.SetActive(true);
            var tran = m_go.GetComponent <RectTransform>();
            tran.SetUILocation(parent, 0, 0);
            tran.SetAsLastSibling();
            SortingOrderRenderer.RebuildAll();
            OnShow();

            if (onShow != null)
            {
                onShow();
            }
        }
        else if (!m_preloading)
        {
            m_preloading = true;

            ResourceManager.LoadMulti(m_resList.ToArray(), null, () =>
            {
                m_preloading = false;

                if (!m_isOpenLogic)
                {
                    //UIManager.HideMask();
                    return;
                }

                Action callback = () =>
                {
                    m_preloaded = true;
                    m_isOpen    = true;

                    Init();
                    m_isInited = true;
                    InitEvent();

                    m_tran.SetUILocation(parent, 0, 0);
                    m_tran.localScale = new Vector3(1f, 1f, 1f);
                    m_tran.offsetMin  = new Vector2(0f, 0f);
                    m_tran.offsetMax  = new Vector2(0f, 0f);
                    m_tran.anchorMin  = new Vector2(0f, 0f);
                    m_tran.anchorMax  = new Vector2(1f, 1f);
                    m_tran.SetAsLastSibling();
                    m_go.SetActive(true);
                    m_go.ApplyLayer(GlobalConfig.LAYER_VALUE_UI);

                    //if (addMask && m_go.GetComponent<Image>() == null)
                    //{
                    //    var mask = m_go.AddComponent<Image>();
                    //    mask.sprite = ResourceManager.LoadSprite(AtlasName.Common, "itemblack");
                    //    mask.color = new Color(1f, 1f, 1f, 0.75f);
                    //    mask.type = Image.Type.Sliced;
                    //}

                    m_canvas = m_go.AddMissingComponent <Canvas>();
                    m_canvas.overridePixelPerfect = m_pixelPrefect;
                    m_canvas.pixelPerfect         = m_pixelPrefect;

                    m_go.AddMissingComponent <SortingOrderRenderer>();
                    SortingOrderRenderer.RebuildAll();

                    OnShow();
                    if (onShow != null)
                    {
                        onShow();
                    }
                };

                if (m_go == null)
                {
                    ResourceManager.LoadUI(m_prefabPath, (obj) =>
                    {
                        m_go   = obj;
                        m_tran = m_go.GetComponent <RectTransform>();
                        callback();
                    });
                }
                else
                {
                    callback();
                }
            });
        }
    }