override public IEnumerator LoadAsync(string assetBundleName) { r = AssetBundle.LoadFromFileAsync(PathTools.GetAssetPathForLoadPath(assetBundleName)); yield return(r); assetBundle = r.assetBundle; }
public static string[] GetManifestAssetsNames(string assetBundleName) { string path = PathTools.GetAssetPathForLoadPath(assetBundleName + ".manifest"); string fileText = System.IO.File.ReadAllText(path); string allLines = fileText.Substring(fileText.LastIndexOf("Assets:\n- ", StringComparison.Ordinal) + "Assets:\n- ".Length, fileText.LastIndexOf("Dependencies:", StringComparison.Ordinal) + 1 - "Dependencies:".Length - fileText.LastIndexOf("Assets:", StringComparison.Ordinal) + 1); string[] lineArr = allLines.Trim().Split('\n'); string[] assetsNameLineArr = new string[lineArr.Length * 2]; string curLine; for (int i = 0; i < lineArr.Length; i++) { curLine = lineArr[i]; assetsNameLineArr[i * 2] = curLine.Substring(curLine.LastIndexOf("/", StringComparison.Ordinal) + 1, curLine.LastIndexOf(".", StringComparison.Ordinal) - curLine.LastIndexOf("/", StringComparison.Ordinal) - 1) + "=" + assetBundleName; //assetsPathLineArr[i] = curLine.Replace("-").Trim(); assetsNameLineArr[i * 2 + 1] = curLine.Replace("-", "").Trim() + "=" + assetBundleName; } return(assetsNameLineArr); }
public static void CreateAssetsName2AssetBundle(string streamingAssetsFileName) { string filePath = PathTools.GetAssetPathForLoadPath(streamingAssetsFileName); AssetBundle bundle = AssetBundle.LoadFromFile(filePath); AssetBundleManifest manifest = bundle.LoadAsset <AssetBundleManifest>("AssetBundleManifest"); string[] assetBundles = manifest.GetAllAssetBundles(); string path = PathTools.GetAssetPathForLoadPath(streamingAssetsFileName + "_AssetsName2AssetBundleAll.txt"); System.IO.StreamWriter sw = System.IO.File.CreateText(path); foreach (string abName in assetBundles) { if (abName.StartsWith("StreamingAssets", StringComparison.Ordinal)) { continue; } string[] namesArr = GetManifestAssetsNames(abName); foreach (string line in namesArr) { /* * if (line.Equals("Assets/Map/Z!M.O.B.A Environment Art") || line.StartsWith("Assets/Map/Z!M.O.B.A Environment Art")) * { * Debug.Log(""); * } */ sw.WriteLine(line); sw.Flush(); } } sw.Close(); }
/// <summary> /// Reads the assetsame asset bundle in dic. /// </summary> /// <param name="streamingAssetsFileName">Streaming assets file name.</param> /// <param name="abDic">Ab dic.</param> public static void ReadAssetsName2AssetBundleInDic(string streamingAssetsFileName, Dictionary <string, string> abDic) { ReadAssetsName2AssetBundleInDicFullPath(PathTools.GetAssetPathForLoadPath(streamingAssetsFileName), abDic); }