public static string ABCONFIGPATH = “Assets/Editor/ABConfig.asset”;
[MenuItem(“Assets/BuildAssetBundles”)]
static void BuildAssetBundles()
{
//清除之前产生的AB包
m_AllFileDir.Clear();
ABConfig abConfig = AssetDatabase.LoadAssetAtPath(ABCONFIGPATH);
//一般先处理文件夹。再处理文件
foreach (ABConfig.FilDirABName filDir in abConfig.m_AllFileName)
{
if (m_AllFileDir.ContainsKey(filDir.ABName))
{
Debug.Log(“ab包配置名字重复,请检查”);
}
else
{
m_AllFileDir.Add(filDir.ABName ,filDir.Path);
m_AllFileAB.Add(filDir.Path );
}
}
string[] allstr = AssetDatabase.FindAssets(“t:Prefab”, abConfig.m_AllPrefabPath.ToArray());
for(int i = 0; i < allstr.Length; i++)
{
//根据GUID找到路径
string path = AssetDatabase.GUIDToAssetPath(allstr[i]);
//设置进度条 更好的看到打包的进度
EditorUtility.DisplayProgressBar(“查找prefab”, “Prefab:” + path, i * 1.0f / allstr.Length);
//清除进度条
EditorUtility.ClearProgressBar();