コード例 #1
0
        private void ButtonRemoveAsset_Click(object sender, EventArgs e)
        {
            if (listViewAssets.SelectedItems.Count == 0)
            {
                return;
            }

            programIsChangingStuff = true;

            AssetType a = AssetType.Null;

            if (comboBoxAssetTypes.SelectedIndex > 0)
            {
                a = (AssetType)comboBoxAssetTypes.SelectedItem;
            }
            var prevIndex = listViewAssets.SelectedIndices[0];

            archive.RemoveAsset(CurrentlySelectedAssetIDs());

            comboBoxLayers.Items[comboBoxLayers.SelectedIndex] = archive.LayerToString(comboBoxLayers.SelectedIndex);

            archive.UnsavedChanges = true;

            foreach (ListViewItem v in listViewAssets.SelectedItems)
            {
                listViewAssets.Items.Remove(v);
            }

            programIsChangingStuff = false;

            if (a != curType)
            {
                comboBoxAssetTypes.SelectedItem = a;
            }
            else
            {
                for (int i = 0; i < listViewAssets.Items.Count; i++)
                {
                    listViewAssets.Items[i].Selected = false;
                }

                if (listViewAssets.Items.Count > 0)
                {
                    try { listViewAssets.Items[prevIndex].Selected = true; }
                    catch
                    {
                        try { listViewAssets.Items[prevIndex - 1].Selected = true; }
                        catch { }
                    }
                }
            }

            if (listViewAssets.Items.Count == 0)
            {
                PopulateAssetListAndComboBox();
            }
        }