public void Init() { int childCount = transform.childCount; for (int i = 0; i < childCount; ++i) { Transform tf = transform.GetChild(i); ListItem14Elem elem = new ListItem14Elem(); elem.mRootObj = tf.gameObject; elem.mIcon = tf.Find("ItemIcon").GetComponent <Image>(); elem.mName = tf.Find("ItemIcon/name").GetComponent <Text>(); mElemItemList.Add(elem); } }
private LoopListViewItem2 OnGetItemByIndex( LoopListView2 listView, int pageIndex) { if (pageIndex < 0 || pageIndex >= this.mPageCount) { return((LoopListViewItem2)null); } LoopListViewItem2 loopListViewItem2 = listView.NewListViewItem("ItemPrefab1"); ListItem14 component = (ListItem14)((Component)loopListViewItem2).GetComponent <ListItem14>(); if (!loopListViewItem2.IsInitHandlerCalled) { loopListViewItem2.IsInitHandlerCalled = true; component.Init(); } List <ListItem14Elem> mElemItemList = component.mElemItemList; int count = mElemItemList.Count; int num = pageIndex * count; int index; for (index = 0; index < count; ++index) { ItemData itemDataByIndex = DataSourceMgr.Get.GetItemDataByIndex(num + index); if (itemDataByIndex != null) { ListItem14Elem listItem14Elem = mElemItemList[index]; listItem14Elem.mRootObj.SetActive(true); listItem14Elem.mIcon.set_sprite(ResManager.Get.GetSpriteByName(itemDataByIndex.mIcon)); listItem14Elem.mName.set_text(itemDataByIndex.mName); } else { break; } } if (index < count) { for (; index < count; ++index) { mElemItemList[index].mRootObj.SetActive(false); } } return(loopListViewItem2); }
LoopListViewItem2 OnGetItemByIndex(LoopListView2 listView, int pageIndex) { if (pageIndex < 0 || pageIndex >= mPageCount) { return(null); } LoopListViewItem2 item = listView.NewListViewItem("ItemPrefab1"); ListItem14 itemScript = item.GetComponent <ListItem14>(); if (item.IsInitHandlerCalled == false) { item.IsInitHandlerCalled = true; itemScript.Init(); } List <ListItem14Elem> elemList = itemScript.mElemItemList; int count = elemList.Count; int picBeginIndex = pageIndex * count; int i = 0; for (; i < count; ++i) { ItemData itemData = DataSourceMgr.Get.GetItemDataByIndex(picBeginIndex + i); if (itemData == null) { break; } ListItem14Elem elem = elemList[i]; elem.mRootObj.SetActive(true); elem.mIcon.sprite = ResManager.Get.GetSpriteByName(itemData.mIcon); elem.mName.text = itemData.mName; } if (i < count) { for (; i < count; ++i) { elemList[i].mRootObj.SetActive(false); } } return(item); }