Files
TaiWan/Assets/Roaming/Editor/RenameTool.cs
2025-10-31 15:20:38 +08:00

46 lines
1.4 KiB
C#

using UnityEngine;
using UnityEditor;
using System.Linq;
public class RenameTool : EditorWindow
{
private string prefix = "Object_"; //前缀
private int startIndex = 1; //序号起始值
private int step = 1; //序号递增值
[MenuItem("Tools/Rename Tool")] //在Unity菜单中添加一个名为“Rename Tool”的工具选项
public static void ShowWindow()
{
EditorWindow.GetWindow(typeof(RenameTool));
}
void OnGUI()
{
GUILayout.Label("Object Renaming Tool", EditorStyles.boldLabel); //在编辑器窗口中显示标题
prefix = EditorGUILayout.TextField("Prefix:", prefix); //添加文本框,以便用户输入前缀
startIndex = EditorGUILayout.IntField("Start Index:", startIndex); //添加文本框,以便用户输入序号的起始值
step = EditorGUILayout.IntField("Step:", step); //添加文本框,以便用户输入序号的递增值
if (GUILayout.Button("Rename Selected Objects"))
{
RenameSelectedObjects(); //添加一个按钮,以便用户单击以开始对选择的物体进行重命名
}
}
private void RenameSelectedObjects()
{
int index = startIndex;
var result = Selection.gameObjects.OrderBy(obj => obj.transform.GetSiblingIndex());
foreach (GameObject gameObject in result) //循环遍历选中的每个物体
{
gameObject.name = prefix + index; //为该物体命名并添加前缀和序号
index += step; //递增序号
}
}
}