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++;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|