[MenuItem("Tool/RenamePre")]
public static void ToRename()
{
UnityEngine.Object[] m_objects = Selection.GetFiltered(typeof(UnityEngine.Object), SelectionMode.DeepAssets);//选择对象下的所有文件
//TopLevel:仅返回最顶层选择的变换;其他选择的子对象将被过滤出。
//Deep:返回选择和所有选择的子变换。
//ExcludePrefab:从选择中排除任何预制。
//Editable:排除任何对象不得修改。
//Assets:仅返回资源目录中的资源对象。
//DeepAssets:如果选择包含文件夹,也包含所有资源和子目录。
foreach (UnityEngine.Object item in m_objects)
{
if (Path.GetExtension(AssetDatabase.GetAssetPath(item)) != "")//判断路径是否为空
{
string path = AssetDatabase.GetAssetPath(item);
string txt = Resources.Load<TextAsset>("Language/English/World Cup").text;//通过读取配置表来修改预制体的名字
string[] contents = txt.Trim().Split(new string[] { "\r\n" }, StringSplitOptions.None);
string headerinfo = contents[0];
string[] headerFields = headerinfo.Split('\t');
for (int i = 1; i < contents.Length; i++)
{
string[] dataFields = contents[i].Split('\t');
print(dataFields[0]);
AssetDatabase.RenameAsset(path, dataFields[0].Trim());
}
}
}
AssetDatabase.SaveAssets();
AssetDatabase.Refresh();
}
批量修改预制体的名字
最新推荐文章于 2024-08-13 16:12:01 发布