Пример #1
0
        private void checkedListBoxAssets_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (programIsChangingStuff)
            {
                return;
            }

            toolStripStatusLabelSelectionCount.Text = $"{listViewAssets.SelectedItems.Count}/{listViewAssets.Items.Count} assets selected";

            archive.ClearSelectedAssets();
            foreach (ListViewItem v in listViewAssets.SelectedItems)
            {
                archive.SelectAsset(GetAssetIDFromName(v.Text), true);
            }

            if (listViewAssets.SelectedItems.Count == 0)
            {
                buttonCopy.Enabled         = false;
                buttonDuplicate.Enabled    = false;
                buttonRemoveAsset.Enabled  = false;
                buttonExportRaw.Enabled    = false;
                buttonInternalEdit.Enabled = false;
            }
            else
            {
                buttonCopy.Enabled         = true;
                buttonDuplicate.Enabled    = true;
                buttonRemoveAsset.Enabled  = true;
                buttonExportRaw.Enabled    = true;
                buttonInternalEdit.Enabled = true;
            }

            if (listViewAssets.SelectedItems.Count == 1)
            {
                buttonEditAsset.Enabled = true;

                if (archive.GetFromAssetID(CurrentlySelectedAssetIDs()[0]) is IClickableAsset a)
                {
                    if (a is AssetDYNA dyna)
                    {
                        buttonView.Enabled = dyna.IsRenderableClickable;
                    }
                    else
                    {
                        buttonView.Enabled = true;
                    }
                }
                else
                {
                    buttonView.Enabled = false;
                }
            }
            else
            {
                buttonEditAsset.Enabled = false;
                buttonView.Enabled      = false;
            }
        }