少年修仙传客户端代码仓库
client_linchunjie
2018-10-26 214a3a64697f23dd3fbbe5d3180223ee3a2f301e
Core/ResModule/AssetBundle/AssetBundleUtility.cs
@@ -42,6 +42,53 @@
        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);
            }
        }
        var keys = new List<string>(m_AssetBundleDict.Keys);
        for (int i = keys.Count - 1; i >= 0; i--)
        {
            var item = keys[i];
            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 +190,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);