コード例 #1
0
        /// <summary>
        /// Updates the items.
        /// </summary>
        /// <param name="newItems">New items.</param>
        void UpdateItems(List <GameObject> newItems)
        {
            RemoveCallbacks();

            newItems = SortItems(newItems);

            var new_selected_indices = SelectedIndices
                                       .Select(x => objects.Count > x ? newItems.IndexOf(objects[x]) : -1)
                                       .Where(x => x != -1).ToList();

            SelectedIndices.Except(new_selected_indices).ForEach(Deselect);

            objects    = newItems;
            base.Items = newItems.Convert <GameObject, ListViewItem>(Utilites.GetOrAddComponent <ListViewItem>);

            SelectedIndices = new_selected_indices;

            AddCallbacks();
        }