private void SetItems(SetItemsEvent evt) { if (items == evt.Items) { return; } currentPage = 0; if (items != null) { foreach (var item in items) { Destroy(item); } } items = evt.Items; pagedItems = MaruUtils.Partition(items, itemsPerPage); lastPage = currentPage; foreach (var item in evt.Items) { item.transform.SetParent(transform, false); } // disable all items not on the current page for (var i = 0; i < pagedItems.Count; i++) { if (i != currentPage) { foreach (var item in pagedItems[i]) { item.SetActive(false); } } } }