少年修仙传客户端代码仓库
client_Wu Xijin
2018-10-26 86b0e47ed7ac943c549a150dd88a31647eb60675
Core/ResModule/AssetBundle/AssetBundleUtility.cs
@@ -42,6 +42,51 @@
        assetBundle = null;
    }
    public void ReInitBuiltInAsset()
    {
        var path = AssetVersionUtility.GetBuiltInAssetFilePath("builtin_assetbundle");
        var assetBundle = AssetBundle.LoadFromFile(path);
        if (assetBundle == null)
        {
            DebugEx.LogError("AssetBundleManifest的包文件为空或者加载出错.");
        }
        var manifest = assetBundle.LoadAsset<AssetBundleManifest>(ResourcesPath.AssetDependentFileAssetName);
        if (manifest == null)
        {
            DebugEx.LogError("AssetBundleManifest文件为空或者加载出错.");
        }
        for (int i = m_AssetBundleInfoList.Count - 1; i >= 0; i--)
        {
            var item = m_AssetBundleInfoList[i];
            if (item.name.Contains("builtin"))
            {
                m_AssetBundleInfoList.Remove(item);
            }
        }
        foreach (var item in m_AssetBundleDict.Keys)
        {
            if (item.Contains("builtin"))
            {
                m_AssetBundleDict.Remove(item);
            }
        }
        var bundles = manifest.GetAllAssetBundles();
        foreach (var bundle in bundles)
        {
            var dependenices = manifest.GetAllDependencies(bundle);
            var hash = manifest.GetAssetBundleHash(bundle);
            var assetBundleInfo = new AssetBundleInfo(bundle, hash, dependenices);
            m_AssetBundleInfoList.Add(assetBundleInfo);
        }
        assetBundle.Unload(true);
        assetBundle = null;
    }
    public IEnumerator Initialize()
    {
        yield return StartCoroutine(Co_LoadMainfestFile("audio"));
@@ -143,7 +188,7 @@
        }
        var isBuiltin = assetBundleName.Contains("builtin");
        var filePath = isBuiltin?AssetVersionUtility.GetBuiltInAssetFilePath(assetBundleName) : AssetVersionUtility.GetAssetFilePath(assetBundleName);
        var filePath = isBuiltin ? AssetVersionUtility.GetBuiltInAssetFilePath(assetBundleName) : AssetVersionUtility.GetAssetFilePath(assetBundleName);
        DebugEx.LogFormat("Co_LoadAssetBundle(): 将要加载的assetBundle包路径 => {0}", filePath);
        var assetBundle = AssetBundle.LoadFromFile(filePath);