Files
TaiWan/Assets/Roaming/Editor/RenameTool.cs

46 lines
1.4 KiB
C#
Raw Normal View History

2025-10-31 15:20:38 +08:00
using UnityEngine;
using UnityEditor;
using System.Linq;
public class RenameTool : EditorWindow
{
private string prefix = "Object_"; //ǰ׺
private int startIndex = 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼֵ
private int step = 1; //<2F><><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ֵ
[MenuItem("Tools/Rename Tool")] //<2F><>Unity<74>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>Rename Tool<6F><6C><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>ѡ<EFBFBD><D1A1>
public static void ShowWindow()
{
EditorWindow.GetWindow(typeof(RenameTool));
}
void OnGUI()
{
GUILayout.Label("Object Renaming Tool", EditorStyles.boldLabel); //<2F>ڱ༭<DAB1><E0BCAD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
prefix = EditorGUILayout.TextField("Prefix:", prefix); //<2F><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ǰ׺
startIndex = EditorGUILayout.IntField("Start Index:", startIndex); //<2F><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ʼֵ
step = EditorGUILayout.IntField("Step:", step); //<2F><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵĵ<C5B5><C4B5><EFBFBD>ֵ
if (GUILayout.Button("Rename Selected Objects"))
{
RenameSelectedObjects(); //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ť<EFBFBD><C5A5><EFBFBD>Ա<EFBFBD><D4B1>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Կ<EFBFBD>ʼ<EFBFBD><CABC>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
private void RenameSelectedObjects()
{
int index = startIndex;
var result = Selection.gameObjects.OrderBy(obj => obj.transform.GetSiblingIndex());
foreach (GameObject gameObject in result) //ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD>е<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
gameObject.name = prefix + index; //Ϊ<><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ׺<C7B0><D7BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
index += step; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
}