Exemplo n.º 1
0
    public void parseManifest(AssetBundleManifest manifest, string packDir)
    {
        clear();

        string[] abs = manifest.GetAllAssetBundles();

        // 这里已经是小写了,所以没有大小写问题
        for (int i = 0; i < abs.Length; i++)
        {
            bool        isDirectory = false;
            string      res         = getResName(abs[i], out isDirectory);
            XBundleInfo ainfo       = new XBundleInfo();
            ainfo.res            = res;
            ainfo.isDirectory    = isDirectory;
            ainfo.persistentData = false;
            ainfo.hash           = manifest.GetAssetBundleHash(abs[i]);
            ainfo.dependList     = new List <string>(manifest.GetAllDependencies(abs[i]));

            // 获取文件大小
            ainfo.fileSize = XUtil.getFileSize(packDir + abs[i]);
            for (int j = 0; j < ainfo.dependList.Count; j++)
            {
                ainfo.dependList[j] = getResName(ainfo.dependList[j], out isDirectory);
            }

            _info.Add(ainfo.res, ainfo);
        }

        this.callDependAllSize();
    }