コード例 #1
0
 private void propertyGridAsset_PropertyValueChanged(object s, PropertyValueChangedEventArgs e)
 {
     archive.UnsavedChanges = true;
     ArchiveEditorFunctions.UpdateGizmoPosition();
     UpdatePlatSpecifics();
 }
コード例 #2
0
        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);
            }
        }