public LoopListViewItem GetItem() { int count = mPoolItemList.Count; if (count > 0) { LoopListViewItem ret = mPoolItemList[count - 1]; mPoolItemList.RemoveAt(count - 1); ret.gameObject.SetActive(true); return(ret); } GameObject obj = GameObject.Instantiate <GameObject>(mItemPrefab); obj.SetActive(true); obj.name = mItemCreatedCount.ToString(); LoopListViewItem tViewItem = obj.GetComponent <LoopListViewItem>(); if (tViewItem == null) { tViewItem = obj.AddComponent <LoopListViewItem>(); } tViewItem.ItemId = mItemCreatedCount; mItemCreatedCount++; return(tViewItem); }
void OnItemUpdated(LoopListViewItem item) { ListItem1 itemScript = item.GetComponent<ListItem1>(); itemScript.mBtnText.text = item.ItemIndex.ToString(); int count = ResManager.Instance.SpriteCount; int spriteIndex = (itemScript.mSpriteStartIndex + item.ItemIndex % 18) % count; itemScript.mItemIcon.sprite = ResManager.Instance.GetSpriteByIndex(spriteIndex); }
void OnItemCreated(LoopListViewItem item) { ListItem1 itemScript = item.GetComponent<ListItem1>(); itemScript.mBtn.onClick.AddListener(delegate () { this.OnItemBtnClicked(item); }); }
void CreateItemGroup(int groupIndex) { LoopListItemGroup tGroup = new LoopListItemGroup(); mItemGroupList.Add(tGroup); for (int i = 0; i < mItemCountPerGroup; ++i) { LoopListViewItem tViewItem = mItemPoolMgr.GetItem(); RectTransform rf = tViewItem.GetComponent <RectTransform>(); rf.SetParent(mContainerTrans); rf.localScale = Vector3.one; rf.localPosition = Vector3.zero; rf.rotation = Quaternion.identity; tViewItem.ParentListView = this; tGroup.mItemList.Add(tViewItem); } tGroup.GroupIndex = groupIndex; }
void OnGroupCreated(LoopListItemGroup group) { if (mOnItemCreated == null) { return; } int count = group.mItemList.Count; for (int i = 0; i < count; ++i) { LoopListViewItem tItem = group.mItemList[i]; if (tItem.CreatedHandlerCalled == false) { tItem.CreatedHandlerCalled = true; mOnItemCreated(tItem); } } }
void UpdateGroupItems(LoopListItemGroup group) { if (mOnItemIndexUpdated == null) { return; } int count = group.mItemList.Count; for (int i = 0; i < count; ++i) { LoopListViewItem tViewItem = group.mItemList[i]; if (tViewItem.ItemIndex >= mItemTotalCount) { tViewItem.gameObject.SetActive(false); } else { tViewItem.gameObject.SetActive(true); mOnItemIndexUpdated(tViewItem); } } }
public void RecycleItem(LoopListViewItem item) { item.gameObject.SetActive(false); mPoolItemList.Add(item); }
void OnItemBtnClicked(LoopListViewItem item) { Debug.Log("Item Btn Clicked. Item Index is "+item.ItemIndex+" item Id is "+item.ItemId); }