示例#1
0
        override public IEnumerator LoadAsync(string assetBundleName)
        {
            r = AssetBundle.LoadFromFileAsync(PathTools.GetAssetPathForLoadPath(assetBundleName));
            yield return(r);

            assetBundle = r.assetBundle;
        }
示例#2
0
        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);
        }
示例#3
0
        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();
        }
示例#4
0
 /// <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);
 }