unity脚本收集
This commit is contained in:
1 parent
ab57544ef5
commit
d88804cd63
16 files changed
+1325
-1
No files matched your search
@@ -0,0 +1,50 @@
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
using System.Linq;
|
||||
|
||||
public class RenameSelectedObjects : EditorWindow
|
||||
{
|
||||
private string baseName = "NewObject";
|
||||
|
||||
[MenuItem("Tools/Rename Selected Objects")]
|
||||
public static void ShowWindow()
|
||||
{
|
||||
GetWindow<RenameSelectedObjects>("Rename Objects");
|
||||
}
|
||||
|
||||
private void OnGUI()
|
||||
{
|
||||
GUILayout.Label("Rename Selected Objects", EditorStyles.boldLabel);
|
||||
baseName = EditorGUILayout.TextField("Base Name", baseName);
|
||||
|
||||
if (GUILayout.Button("Rename"))
|
||||
{
|
||||
RenameObjects();
|
||||
}
|
||||
}
|
||||
|
||||
private void RenameObjects()
|
||||
{
|
||||
var selectedObjects = Selection.gameObjects;
|
||||
|
||||
if (selectedObjects.Length == 0)
|
||||
{
|
||||
EditorUtility.DisplayDialog("No Objects Selected", "Please select at least one object in the Hierarchy.", "OK");
|
||||
return;
|
||||
}
|
||||
|
||||
// Sort selected objects by their sibling index (Hierarchy order)
|
||||
var sortedObjects = selectedObjects
|
||||
.OrderBy(obj => obj.transform.GetSiblingIndex())
|
||||
.ToArray();
|
||||
|
||||
Undo.RecordObjects(sortedObjects, "Rename Objects");
|
||||
|
||||
for (int i = 0; i < sortedObjects.Length; i++)
|
||||
{
|
||||
sortedObjects[i].name = $"{baseName} ({i + 1})";
|
||||
}
|
||||
|
||||
EditorUtility.DisplayDialog("Rename Complete", $"Renamed {sortedObjects.Length} objects.", "OK");
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user