protected virtual void Init() { if (_inited) { return; } // Will cache exist item later var pendingToCahce = new List <GameObject>(); for (var i = 0; i < transform.childCount; i++) { var child = transform.GetChild(i).gameObject; pendingToCahce.Add(child); } // Create root for scrolling _root = new GameObject("Root").transform; _root.SetParent(transform, false); // Create object pool in root _pool = GameObjectPool.CreateSetScalePool("Pool", _root); pendingToCahce.ForEach(x => { _pool.ReleaseAndRegister(x, ListViewItem.gameObject); }); // Init virtual item record _virtualItems = new ResizableList <VirtualItem>(() => { var item = new VirtualItem(); item.ListViewItem = ListViewItem; item.Index = _virtualItems.Count; item.Parent = _root; item.OnUpdate = OnItemUpdate; item.Pool = _pool; item.LocalPosition = GetItemLocalPosition(ListViewItem, item.Index); return(item); }, VisualizeItem); _inited = true; }
public void OnCahced(GameObject instance, GameObjectPool pool) { }
public void OnCahced(GameObject instance, GameObjectPool pool) { instance.SetActive(false); }
public void OnCahced(GameObject instance, GameObjectPool pool) { instance.transform.localScale = Vector3.zero; }