/** 计算新的更新包的资源大小 */ public static void countNewVersionSize(VersionSaveData data, VersionReData re) { re.size = 0; re.isOnlyConfig = true; data.resourceDic.forEachValue(v => { ResourceSaveData oldData = _versionData.resourceDic.get(v.name); if (oldData != null) { //需要下载的部分 if (oldData.version < v.version || (v.state == ResourceSaveStateType.None && ResourceSaveType.needFirst(v.saveType) && oldData.state == ResourceSaveStateType.None)) { re.size += v.size; if (re.isOnlyConfig && !v.name.StartsWith(ShineGlobal.configDirPath)) { re.isOnlyConfig = false; } } } }); if (re.size == 0) { re.isOnlyConfig = false; } }
/** 预备下载 */ public static int preDownLoad() { _needLoadSize = 0; _loadQueue = new SQueue <ResourceSaveData>(); _versionData.resourceDic.forEachValue(v => { //未处理的且需要下载的部分 if (v.state == ResourceSaveStateType.None && ResourceSaveType.needFirst(v.saveType)) { _loadQueue.offer(v); _needLoadSize += v.size; } }); return(_needLoadSize); }