Пример #1
0
        private static Dictionary <string, BuildSampleInfo> LoadHistoryBundleData(string bundleDataFilePath)
        {
            string bundleData = BMUtility.LoadText(bundleDataFilePath);

            if (bundleData == null)
            {
                return(null);
            }
            JsonData jsonData = JsonMapper.ToObject(bundleData);

            Debug.Log("Load History Bundle Data:" + bundleData);

            Dictionary <string, BuildSampleInfo> buildInfos = new Dictionary <string, BuildSampleInfo>();

            JsonData buildInfoJson = jsonData["bundles"];

            for (int i = 0; i < buildInfoJson.Count; i++)
            {
                BuildSampleInfo buildInfo = new BuildSampleInfo()
                {
                    bundleName = buildInfoJson[i]["bundleName"].ToString(),
                    version    = (int)buildInfoJson[i]["version"],
                    assetPaths = BMUtility.JsonToArray(buildInfoJson[i], "assetPaths"),
                    assetHashs = BMUtility.JsonToArray(buildInfoJson[i], "assetHashs"),
                };
                buildInfos.Add(buildInfo.bundleName, buildInfo);
            }
            return(buildInfos);
        }
Пример #2
0
        public void LoadBundleData(string bundleDataFile, bool useHashName)
        {
            _useHashName = useHashName;
            string path = getFilePath(bundleDataFile);

            Debug.LogFormat("Load bundle data:{0}", path);
            string bundleData = BMUtility.LoadText(path);

            Debug.Log(bundleData);
            JsonData jsonData = JsonMapper.ToObject(bundleData);

            //Debug.Log(bundleData);

            bundleInfos        = new List <BundleInfo>();
            bundleInfoDict     = new Dictionary <string, BundleInfo>();
            _bundleRequestDict = new Dictionary <string, AssetBundleCreateRequest>();

            _suffix = "." + jsonData["suffix"];//Bundle 文件后缀
            //_useHashName = (bool) jsonData["useHashName"];//是否使用Hash name
            JsonData bundleInfoJson = jsonData["bundles"];

            for (int i = 0; i < bundleInfoJson.Count; i++)
            {
                BundleInfo bundleInfo = new BundleInfo()
                {
                    bundleName      = bundleInfoJson[i]["bundleName"].ToString(),
                    buildMd5        = bundleInfoJson[i]["buildMd5"].ToString(),
                    buildType       = (BuildType)Enum.Parse(typeof(BuildType), bundleInfoJson[i]["buildType"].ToString()),
                    assetPaths      = BMUtility.JsonToArray(bundleInfoJson[i], "assetPaths"),
                    dependencePaths = BMUtility.JsonToArray(bundleInfoJson[i], "dependencePaths"),
                };
                bundleInfos.Add(bundleInfo);

                for (int j = 0; j < bundleInfo.assetPaths.Count; j++)
                {
                    bundleInfoDict.Add(bundleInfo.assetPaths[j], bundleInfo);
                }
            }
        }