예제 #1
0
        /// <summary>
        /// Renames the specified Objects according to a supplied RenameOperationSequence.
        /// </summary>
        /// <returns>The number of successfully renamed objects.</returns>
        /// <param name="objectsToRename">Objects to rename.</param>
        /// <param name="ignoreUndo">If set to <c>true</c> ignore undo.</param>
        public int RenameObjects(List <UnityEngine.Object> objectsToRename, bool ignoreUndo = false)
        {
            var nameChanges = new List <ObjectNameDelta>();
            var previews    = this.GetBulkRenamePreview(objectsToRename);

            for (int i = 0; i < previews.NumObjects; ++i)
            {
                // Don't request a rename if the preview has warnings
                var renamePreview = previews.GetPreviewAtIndex(i);
                if (renamePreview.HasWarnings || previews.WillRenameCollideWithExistingAsset(renamePreview))
                {
                    continue;
                }

                var renameResult = renamePreview.RenameResultSequence;
                var newName      = renameResult.NewName;
                var originalName = renameResult.OriginalName;

                // Don't request a rename if the name isn't going to change.
                if (originalName.Equals(newName))
                {
                    continue;
                }

                nameChanges.Add(new ObjectNameDelta(objectsToRename[i], newName));
            }

            return(BulkRenamer.ApplyNameDeltas(nameChanges, ignoreUndo));
        }
예제 #2
0
        /// <summary>
        /// Reverts the name changes on the affected assets.
        /// </summary>
        public void RevertNameChange()
        {
            var reversedNames = new List <ObjectNameDelta>();

            foreach (var renamedAsset in this.renamedAssets)
            {
                if (!DoesObjectStillExist(renamedAsset.NamedObject))
                {
                    continue;
                }

                reversedNames.Add(new ObjectNameDelta(renamedAsset.NamedObject, renamedAsset.OldName));
            }

            BulkRenamer.ApplyNameDeltas(reversedNames, true);
        }
예제 #3
0
        /// <summary>
        /// Reapplies the name changes to the affected assets.
        /// </summary>
        public void ReapplyNameChange()
        {
            var validRenames = new List <ObjectNameDelta>();

            foreach (var renamedAsset in this.renamedAssets)
            {
                if (!DoesObjectStillExist(renamedAsset.NamedObject))
                {
                    continue;
                }

                validRenames.Add(renamedAsset);
            }

            BulkRenamer.ApplyNameDeltas(validRenames, true);
        }