protected void DisPosePageItem(List <GDragablePageItem> items, int index) { if (items.Count > index) { GDragablePageItem item = items[index]; if (item != null) { if (_Pool.PutIn(item)) { GNewUITools.SetVisible(item.RectTrans, false); } } items.RemoveAt(index); } }
protected void UpdatePageItem(List <GDragablePageItem> items, int index) { GDragablePageItem item = null; if (items.Count > index) { item = items[index]; } else { item = CreateItem(); items.Add(item); } item.SetPosition(CalculatePos(index, item.RectTrans)); item.OnInitPageItem(index, true); }
protected GDragablePageItem CreateItem() { GDragablePageItem page_item = null; page_item = _Pool.TakeOut(); if (page_item == null) { RectTransform item = CUnityUtil.Instantiate(_CellItem) as RectTransform; item.SetParent(Trans, false); Vector2 new_pos = GNewUITools.GetAlignedPivot(NewAlign.Left); if (IsVertical) { new_pos = GNewUITools.GetAlignedPivot(NewAlign.Top); } item.pivot = new_pos; item.anchorMax = new_pos; item.anchorMin = new_pos; GDragablePageItem item_com = item.GetComponent <GDragablePageItem>(); if (item_com == null) { item_com = item.gameObject.AddComponent <GDragablePageItem>(); } if (this._PageItemInitCallBack != null) { item_com.OnItemInit = OnInitPageItem; } if (this._ClickPageItemCallBack != null) { item_com.OnItemClick = OnClickPageItem; } if (_HasChildButton && this._ClickPageItemButtonCallBack != null) { item_com.OnItemClickButton = this.OnClickPageItemButton; } page_item = item_com; } GNewUITools.SetVisible(page_item.RectTrans, true); return(page_item); }