public void ReuseAll() { for (int i = 0; i < parent.childCount; i++) { GroupedReusableItem <TItemData> view = parent.GetChild(i). GetComponent <GroupedReusableItem <TItemData> >(); ReuseItem(view); } }
public void RefreshAll(IList <TItemData> value) { ReuseAll(); for (int i = 0; i < value.Count; i++) { GroupedReusableItem <TItemData> view = GetItem(value[i].GetGroupId()); view.transform.SetSiblingIndex(i); view.Refresh(value[i], i); } }
protected void ReuseItem(GroupedReusableItem <TItemData> item) { if (item != null) { if (!GroupedReusableItems[item.GetGroupId()].Contains(item)) { GroupedReusableItems[item.GetGroupId()].Enqueue(item); item.gameObject.SetActive(false); } } }
protected bool TryGetItem(out GroupedReusableItem <TItemData> item, int typeIdx) { bool result = false; item = null; if (GroupedReusableItems.Count > 0) { if (GroupedReusableItems[typeIdx].Count > 0) { item = GroupedReusableItems[typeIdx].Dequeue(); item.gameObject.SetActive(true); result = true; } } return(result); }