private void InitDotPage()
    {
        //克隆分页的点
        if (m_DotList == null)
        {
            m_DotList = new List <Image>();
        }
        else
        {
            for (int i = 0; i < m_DotList.Count; i++)
            {
                DestroyImmediate(m_DotList[i].gameObject);
            }
            m_DotList.Clear();
        }

        float pageDotWidth = 20f; //分页点的间距
        float beginX       = -1 * (((m_TotalPage * 0.5f) * pageDotWidth) - (pageDotWidth * 0.5f));

        for (int i = 0; i < m_TotalPage; i++)
        {
            GameObject go = GameUtil.AddChild(pageDotParent, pageDot); //创建
            go.transform.localPosition = new Vector3(beginX + (pageDotWidth * i), 0, 0);
            m_DotList.Add(go.GetComponent <Image>());

            Text lblNumber = go.GetComponentInChildren <Text>();
            if (lblNumber != null)
            {
                lblNumber.text = (i + 1).ToString();
            }
        }

        this.SetPage();
    }
    private void CreateItemGrid(int offset, bool isFirst, bool isReset = false)
    {
        if (m_NewItemList == null)
        {
            return;
        }

        this.SetPage();

        if (isReset)
        {
            for (int i = 0; i < m_NewItemList.Count; i++)
            {
                DestroyImmediate(m_NewItemList[i].gameObject);
            }
        }

        m_NewItemList.Clear();
        int index = 0;

        for (int i = 0; i < RowCount; i++)
        {
            for (int j = 0; j < ColumnCount; j++)
            {
                GameObject go = null;
                if (isFirst || m_Queue.Count == 0)
                {
                    go = GameUtil.AddChild(itemPanel, itemPrefab); //创建
                }
                else
                {
                    go = m_Queue.Dequeue();
                    go.transform.parent = itemPanel;
                }

                go.name = "item " + (index < 10 ? "0" + index : index.ToString());
                go.transform.localPosition = new Vector3(j * ItemWidth + offset, i * -ItemWidth, 0);

                Button btn = go.GetComponent <Button>();
                if (btn != null)
                {
                    btn.onClick.AddListener(() =>
                    {
                        Debug.Log("点击了" + go.name);
                    });
                }


                m_NewItemList.Add(go.transform);

                if (OnItemCreate != null)
                {
                    OnItemCreate(PageSize * (m_PageIndex - 1) + index, go);
                }
                index++;
            }
        }
    }
Exemple #3
0
    private void CreateItem(int index)
    {
        UIScrollIndex itemBase;

        if (_unUsedQueue.Count > 0)
        {
            itemBase = _unUsedQueue.Dequeue();
        }
        else
        {
            itemBase = GameUtil.AddChild(_content, itemPrefab).GetComponent <UIScrollIndex>();
        }

        itemBase.Scroller = this;
        itemBase.Index    = index;
        _itemList.Add(itemBase);
    }
Exemple #4
0
    private void CreateItem(int index)
    {
        UIMultiScrollIndex itemBase;

        if (_unUsedQueue.Count > 0)
        {
            itemBase          = _unUsedQueue.Dequeue();
            itemBase.Scroller = this;
            itemBase.Index    = index;
        }
        else
        {
            itemBase          = GameUtil.AddChild(_content, itemPrefab).GetComponent <UIMultiScrollIndex>();
            itemBase.Scroller = this;
            itemBase.Index    = index;
        }

        _itemList.Add(itemBase);

        if (OnItemCreate != null)
        {
            OnItemCreate(index, itemBase.gameObject);
        }
    }