需求
找查项目中Resources下所有预制体并将预制体名字和路径存入文件中 (自动根据预制件名字获取路径 生成配置文件)
知识
继承编译器类Editor的类只在编译器中执行 MenuItem使方法可以在菜单项中调用 AssertDatabase 包含只适用于编译器中操作资源的相关功能
using System.IO;
using UnityEditor;
using UnityEngine;
public class GenerateResConfig : Editor {
[MenuItem("Tools/Resources/Generate ResConfig File")]
public static void Generate()
{
string[] resFiles=AssetDatabase.FindAssets("t:prefab", new string[] { "Assets/Resources" });
for(int i=0;i<resFiles.Length;i++)
{
resFiles[i] = AssetDatabase.GUIDToAssetPath(resFiles[i]);
string fileName = Path.GetFileNameWithoutExtension(resFiles[i]);
string filePath = resFiles[i].Replace("Assets/Resources/", "").Replace("prefab", "");
resFiles[i] = fileName + "=" + filePath;
}
File.WriteAllLines("Assets/StreamingAssets/ConfigMap.txt", resFiles);
AssetDatabase.Refresh();
}
}
|