Пример #1
0
        /// <summary>
        /// 以客户端安装包默认的资源版本配置为基准创建一个新的本地缓存
        /// </summary>
        /// <param name="remoteVersions"></param>
        public void CreateVersionsCached(ref ResDataVersion remoteVersions)
        {
            string path = AppPaths.PersistentResDataRoot.Append(ResDataVersion.FILE_RES_DATA_VERSIONS_NAME);
            string data = FileOperater.ReadUTF8Text(path);

            ResDataVersion temp = JsonUtility.FromJson <ResDataVersion>(data);

            if (temp == default || temp.IsVersionsEmpty())
            {
#if LOG_CLIENT_VERSIONING
                "log".Log("Verision data is empty, will create new one.");
#endif
                temp = new ResDataVersion
                {
                    res_gateway = remoteVersions.res_gateway,
                    app_version = remoteVersions.app_version,
                    res_version = remoteVersions.res_version
                };

                ResDataVersion client = Versions;
                temp.CloneVersionsFrom(ref client);
            }
            else
            {
            }

            CachedVersion = temp;
            CachedVersion.resVersionType = ResDataVersionType.Cached;
        }
Пример #2
0
        /// <summary>
        /// 从另一个资源版本对象复制数据
        /// </summary>
        /// <param name="copyFrom"></param>
        public void CloneVersionsFrom(ref ResDataVersion copyFrom)
        {
            Clean(false, true);

            if (copyFrom.IsVersionsEmpty())
            {
                copyFrom.Init();
            }
            else
            {
            }

            app_version = copyFrom.app_version;
            res_version = copyFrom.res_version;
            res_gateway = copyFrom.res_gateway;

            ResVersion item;
            int        resSize = copyFrom.res.Length;

            res = new ResVersion[resSize];
            for (int i = 0; i < resSize; i++)
            {
                item   = copyFrom.res[i];
                res[i] = ResVersion.CreateNew(item.name, item.version, item.file_size);
            }

            int updatingsSize = copyFrom.updatings != default ? copyFrom.updatings.Length : 0;

            updatings = new ResUpdating[updatingsSize];
            for (int i = 0; i < updatingsSize; i++)
            {
                updatings[i] = new ResUpdating()
                {
                    name    = copyFrom.updatings[i].name,
                    version = copyFrom.updatings[i].version,
                };
            }

            res_total      = res.Length;
            updating_total = updatings.Length;
        }