private void propertyGridAsset_PropertyValueChanged(object s, PropertyValueChangedEventArgs e) { archive.UnsavedChanges = true; ArchiveEditorFunctions.UpdateGizmoPosition(); UpdatePlatSpecifics(); }
public void SetSelectedIndices(List <uint> assetIDs, bool newlyAddedObjects, bool add = false) { if (assetIDs.Contains(0) && !add) { listViewAssets.SelectedIndices.Clear(); ArchiveEditorFunctions.UpdateGizmoPosition(); return; } foreach (uint u in assetIDs) { if (!archive.ContainsAsset(u)) { listViewAssets.SelectedIndices.Clear(); listViewAssets.EndUpdate(); return; } } if (add) { assetIDs.AddRange(CurrentlySelectedAssetIDs()); } AssetType assetType = AssetType.Null; foreach (uint u in assetIDs) { assetType = archive.GetFromAssetID(u).AHDR.assetType; if (archive.GetLayerFromAssetID(u) != comboBoxLayers.SelectedIndex) { comboBoxLayers.SelectedIndex = archive.GetLayerFromAssetID(u); } break; } foreach (uint u in assetIDs) { if (archive.GetFromAssetID(u).AHDR.assetType != assetType) { assetType = AssetType.Null; break; } } if (curType != assetType || newlyAddedObjects) { if (assetType == AssetType.Null) { comboBoxAssetTypes.SelectedIndex = 0; } else { comboBoxAssetTypes.SelectedItem = assetType; } PopulateAssetList(assetType, true, assetIDs); return; } else { listViewAssets.SelectedIndices.Clear(); int last = 0; for (int i = 0; i < listViewAssets.Items.Count; i++) { if (assetIDs.Contains(GetAssetIDFromName(listViewAssets.Items[i].Text))) { listViewAssets.SelectedIndices.Add(i); last = i; } } listViewAssets.EnsureVisible(last); } }