protected virtual int Remove(BaseListViewItem item) { if (this.isClickableItem) { this.RemoveCallbacks(); } var index = items.FindIndex(x => x == item); if (selectedIndex == index) { Deselect(index); selectedIndex = -1; } else if (selectedIndex > index) { selectedIndex -= 1; } items.Remove(item); Free(item); if (this.isClickableItem) { AddCallbacks(); } return(index); }
protected virtual BaseListViewItem Add(BaseListViewItem item) { if (this.isClickableItem) { this.AddCallback(item, items.Count); } items.Add(item); return(item); }
private void Free(BaseListViewItem item) { if (item == null) { return; } if (item.gameObject == null) { return; } Destroy(item.gameObject); }
private void AddCallback(BaseListViewItem item, int index) { callbackClick.Add(go => Toggle(index)); item.listener.onClick += callbackClick[index]; }