Exemplo n.º 1
0
    void Start()
    {
        btn_close.onClick.AddListener(() =>
        {
            LWindowManager wm = LWindowManager.GetInstance();
            wm.popWindow(this);
        });

        gridPageView.cellsSize         = new Vector2(400, 400);
        gridPageView.cellTemplate.node = Resources.Load("Prefabs/grid_cell") as GameObject;
        gridPageView.cols           = 4;
        gridPageView.rows           = 4;
        gridPageView.gridCellsCount = 100;
        gridPageView.gridCellsSize  = new Vector2(100, 100);
        gridPageView.onGridDataSourceAdapterHandler = (LGridPageViewCell cell, int idx) =>
        {
            if (cell == null)
            {
                cell      = new LGridPageViewCell();
                cell.node = (GameObject)Instantiate(gridPageView.cellTemplate.node, Vector3.zero, gridPageView.cellTemplate.node.transform.rotation);
            }
            cell.node.GetComponent <Text>().text = idx.ToString();
            cell.node.SetActive(idx != LScrollView.INVALID_INDEX);
            return(cell);
        };
        gridPageView.reloadData();
    }
Exemplo n.º 2
0
    void Start()
    {
        btn_close.onClick.AddListener(() =>
        {
            LWindowManager wm = LWindowManager.GetInstance();
            wm.popWindow(this);
        });

        gridPageView.cellsSize = new Vector2(400, 400);
        gridPageView.cellTemplate.node = Resources.Load("Prefabs/grid_cell") as GameObject;
        gridPageView.cols = 4;
        gridPageView.rows = 4;
        gridPageView.gridCellsCount = 100;
        gridPageView.gridCellsSize = new Vector2(100, 100);
        gridPageView.onGridDataSourceAdapterHandler = (LGridPageViewCell cell, int idx) =>
        {
            if (cell == null)
            {
                cell = new LGridPageViewCell();
                cell.node = (GameObject)Instantiate(gridPageView.cellTemplate.node, Vector3.zero, gridPageView.cellTemplate.node.transform.rotation);
            }
            cell.node.GetComponent<Text>().text = idx.ToString();
            cell.node.SetActive(idx != LScrollView.INVALID_INDEX);
            return cell;
        };
        gridPageView.reloadData();
    }
Exemplo n.º 3
0
        protected LGridPageViewCell _onGridDataSourceAdapterHandler(LGridPageViewCell cell, int idx)
        {
            if (cell == null)
            {
                cell      = new LGridPageViewCell();
                cell.node = (GameObject)Instantiate(transform.Find("container/cell_tpl").gameObject);
            }
            cell.node.SetActive(idx != LScrollView.INVALID_INDEX);

            if (onCellHandle != null)
            {
                onCellHandle.Invoke(idx, cell.node);
            }
            return(cell);
        }
Exemplo n.º 4
0
        public override void updateCellAtIndex(int page)
        {
            LGridPageViewPage pageCell = (LGridPageViewPage)dequeueCell();

            if (pageCell == null)
            {
                pageCell = new LGridPageViewPage();

                List <LGridPageViewCell> gridCells = pageCell.gridCells;
                int beginIdx = page * _cellsMaxCountInPage;
                int endIdx   = beginIdx + _cellsMaxCountInPage;

                for (int idx = beginIdx, i = 0; idx < endIdx; ++idx, ++i)
                {
                    LGridPageViewCell cell = null;
                    if (idx < gridCellsCount)
                    {
                        cell = _onGridDataSourceAdapterHandler(null, idx);
                        RectTransform rtran = cell.node.GetComponent <RectTransform>();
                        rtran.pivot     = Vector2.zero;
                        rtran.sizeDelta = gridCellsSize;
                        cell.idx        = idx;
                        cell.node.SetActive(true);
                        cell.node.transform.SetParent(pageCell.node.transform);
                        cell.node.transform.localPosition = _gridCellsPosition[i];
                        cell.node.transform.localScale    = new Vector2(1, 1);
                        gridCells.Add(cell);
                    }
                    else
                    {
                        cell = _onGridDataSourceAdapterHandler(null, INVALID_INDEX);
                        RectTransform rtran = cell.node.GetComponent <RectTransform>();
                        rtran.pivot = Vector2.zero;
                        cell.idx    = INVALID_INDEX;
                        cell.node.SetActive(false);
                        cell.node.transform.SetParent(pageCell.node.transform);
                        cell.node.transform.localPosition = _gridCellsPosition[i];
                        cell.node.transform.localScale    = new Vector2(1, 1);
                        gridCells.Add(cell);
                    }
                }
            }
            else
            {
                List <LGridPageViewCell> gridCells = pageCell.gridCells;
                int beginIdx = page * _cellsMaxCountInPage;
                int endIdx   = beginIdx + _cellsMaxCountInPage;

                for (int idx = beginIdx, i = 0; idx < endIdx; ++idx, ++i)
                {
                    LGridPageViewCell cell = gridCells[i];
                    if (idx < gridCellsCount)
                    {
                        cell.idx = idx;
                        cell     = _onGridDataSourceAdapterHandler(cell, idx);
                        cell.node.SetActive(true);
                    }
                    else
                    {
                        cell.idx = INVALID_INDEX;
                        cell.reset();
                        cell = _onGridDataSourceAdapterHandler(cell, INVALID_INDEX);
                        cell.node.SetActive(false);
                    }
                }
            }

            pageCell.idx = page;
            RectTransform tran = pageCell.node.GetComponent <RectTransform>();

            switch (direction)
            {
            case ScrollDirection.HORIZONTAL:
                tran.pivot = Vector2.zero;
                break;

            default:
                tran.pivot = new Vector2(0, 1);
                break;
            }

            tran.sizeDelta = cellsSize;
            pageCell.node.SetActive(true);
            pageCell.node.transform.SetParent(container.transform);
            pageCell.node.transform.localScale    = new Vector2(1, 1);
            pageCell.node.transform.localPosition = cellPositionFromIndex(page);
            insertSortableCell(pageCell, page);
            indices.Add(page, 1);
        }