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(); }
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(); }
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); }
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); }