public static AssetBundleManifest Create(UnityEngine.AssetBundleManifest manifest)
{
AssetBundleManifest result = new AssetBundleManifest()
{
Version = DateTime.Now.ToString("yyyyMMddHHmmss")
};
if (manifest == null)
{
return(result);
}
List <string> assetbundleNames = new List <string>();
assetbundleNames.AddRange(manifest.GetAllAssetBundles());
foreach (var name in assetbundleNames)
{
AssetBundleInfo info = new AssetBundleInfo()
{
AssetBundleName = name,
Hash128 = manifest.GetAssetBundleHash(name).ToString()
};
info.AssetPaths.AddRange(AssetDatabase.GetAssetPathsFromAssetBundle(name));
var dependencies = manifest.GetAllDependencies(name);
foreach (var depName in dependencies)
{
info.Dependencies.Add(assetbundleNames.IndexOf(depName));
}
result.Infos.Add(info);
}
return(result);
}