public UISListItem addItem(object data, int id = 0) { UISListItem it = null; if (mCach.Count > 0) { it = mCach[0]; mCach.RemoveAt(0); mItems.Add(it); } if (it == null) { GameObject go = GameObject.Instantiate(mPrefab.gameObject) as GameObject; go.transform.SetParent(transform, false); it = go.GetComponent <UISListItem>(); it.onSelectChange = onSelected; mItems.Add(it); } it.setData(data, id); it.gameObject.SetActive(true); if (mReverse) { it.transform.SetAsFirstSibling(); } else { it.transform.SetAsLastSibling(); } return(it); }
public void delItem(UISListItem it) { if (!mItems.Remove(it)) { return; } it.gameObject.SetActive(false); mCach.Add(it); }
public void clearItem() { for (int i = 0, max = mItems.Count; i < max; ++i) { UISListItem it = mItems[i]; it.selected = false; it.gameObject.SetActive(false); } mCach.AddRange(mItems); mItems.Clear(); }
public UISListItem getFirstSelected() { for (int i = 0, max = mItems.Count; i < max; ++i) { UISListItem it = mItems[i]; if (it.selected) { return(it); } } return(null); }
public List <UISListItem> getSelected() { List <UISListItem> sels = new List <UISListItem>(); for (int i = 0, max = mItems.Count; i < max; ++i) { UISListItem it = mItems[i]; if (it.selected) { sels.Add(it); } } return(sels); }
void onSelected(UISListItem sel) { if (mMultiSelect) { sel.selected = !sel.selected; } else { for (int i = 0, max = mItems.Count; i < max; ++i) { UISListItem it = mItems[i]; it.selected = object.ReferenceEquals(it, sel); } } if (null != onSelectedChange) { onSelectedChange(sel); } }
void Awake() { mPrefab = GetComponentInChildren <UISListItem>(); mPrefab.gameObject.SetActive(false); }