47 lines
1.4 KiB
C#
47 lines
1.4 KiB
C#
using UnityEditor;
|
|
using UnityEngine;
|
|
|
|
namespace ZEditor
|
|
{
|
|
public class TestCharacterEditor: EditorWindow
|
|
{
|
|
private string newName = "NewObjectName";
|
|
private int startNumber = 1;
|
|
|
|
// 在菜单中添加一个选项以打开自定义窗口
|
|
[MenuItem("Tools/Rename Selected Objects")]
|
|
public static void ShowWindow()
|
|
{
|
|
// 获取或创建窗口实例
|
|
GetWindow<TestCharacterEditor>("Rename Selected Objects");
|
|
}
|
|
|
|
private void OnGUI()
|
|
{
|
|
// 显示一个文本框,用于输入新的名称
|
|
newName = EditorGUILayout.TextField("New Name", newName);
|
|
// 显示一个整数输入框,用于设置起始编号
|
|
startNumber = EditorGUILayout.IntField("Start Number", startNumber);
|
|
|
|
if (GUILayout.Button("Rename Selected"))
|
|
{
|
|
// 调用重命名方法
|
|
RenameSelectedObjects();
|
|
}
|
|
}
|
|
|
|
private void RenameSelectedObjects()
|
|
{
|
|
// 获取当前选中的所有游戏对象
|
|
GameObject[] selectedObjects = Selection.gameObjects;
|
|
int currentNumber = startNumber;
|
|
|
|
foreach (GameObject obj in selectedObjects)
|
|
{
|
|
// 按照设定的规则生成新名称
|
|
obj.name = $"{newName}_{currentNumber}";
|
|
currentNumber++;
|
|
}
|
|
}
|
|
}
|
|
} |