protected void UpdateLine(int widgetIndex, int contentIndex) { BaseScrollItem item = _widgets[widgetIndex].GetComponentInChildren <BaseScrollItem>(); _containerDataList.Clear(); startIndex = contentIndex * lineSize; endIndex = Mathf.Min((startIndex + lineSize), _dataList.Count); size = endIndex - startIndex; if (size > 0) { for (int i = startIndex; i < endIndex; ++i) { _containerDataList.Add(_dataList[i]); } } #if UNITY_EDITOR /* Debug.Log (string.Format ("[{3}<-{4}] {0}..{1} : {2}", * startIndex.ToString(), * endIndex.ToString(), * _containerDataList.Count.ToString(), * widgetIndex.ToString(), * contentIndex.ToString()));*/ #endif if (contentIndex < _itemCount) { item.SetEmpty(false); if (lineSize == 1) { item.UpdateView(_containerDataList[0]); } else { item.UpdateView(_containerDataList); } } else { item.SetEmpty(true); } }
public override void UpdateWidget(int widgetIndex, int contentIndex) { if (lineSize > 1) { UpdateLine(widgetIndex, contentIndex); return; } BaseScrollItem item = _widgets[widgetIndex].GetComponentInChildren <BaseScrollItem>(); if (contentIndex < _itemCount) { item.SetEmpty(false); item.UpdateView(_dataList[contentIndex]); } else { item.SetEmpty(true); } base.UpdateWidget(widgetIndex, contentIndex); }