protected TCell GetCellElement(ListCellContainer <TCell> container) { if (cellReusePool.Count > 0) { TCell cell = cellReusePool.Pop(); return(cell); } return(Instantiate(cellPrefab, container.transform)); }
private void TryInit() { CellContainers = new List <ListCellContainer <TCell> >(); cellReusePool = new Stack <TCell>(); scrollRect.onValueChanged.AddListener(OnValueChanged); containerPrefab = cellContainerPrefab as ListCellContainer <TCell>; var size = cellPrefab.GetComponent <RectTransform>().sizeDelta; cellHeight = size.y; cellWidth = size.x; }
protected override void ElementInit(ListCellContainer <RankItem> cellContainer, PlayerInfo playerInfo, int index) { base.ElementInit(cellContainer, playerInfo, index); cellContainer.Element.SetClickEvent(() => { onItemClickEvent?.Invoke(playerInfo); }); }
protected virtual void ElementInit(ListCellContainer <TCell> cellContainer, PlayerInfo dataSource, int index) { cellContainer.Element.SetData(dataSource); }