/// <summary> /// 单个资源更新加载完成 /// </summary> /// <param name="flag"></param> /// <param name="name"></param> private void OnResItemUpdated(bool flag, string name) { if (CachedVersion != default) { CachedVersion.RemoveUpdate(name); float min = CachedVersion.UpdatingLoaded; float max = CachedVersion.UpdatingMax; bool isCompleted = min >= max; UpdateHandler?.Invoke(isCompleted, isCompleted ? 1f : min / max); bool isFinished = min >= max; if (isFinished) { CachedVersion.res_version = mRemoteResVersion; CachedVersion.WriteAsCached(); CachedVersion.ResetUpdatingsCount(); } else { } } else { } }
public void CacheResVersion(bool isExit) { if (CachedVersion != default) { if (CachedVersion.resVersionType == ResDataVersionType.Cached) { CachedVersion?.WriteAsCached(); } else { } if (isExit) { CachedVersion.Clean(); CachedVersion = default; } else { } } else { } }
private void OnLoadComplete(bool success, Loader.Loader target) { if (success) { string json = target.TextData; target.Dispose(); ResDataVersion remoteVersions = JsonUtility.FromJson <ResDataVersion>(json); remoteVersions.resVersionType = ResDataVersionType.Remote; CreateVersionsCached(ref remoteVersions); RemoteAppVersion = remoteVersions.app_version; if (VersionInvalidHandler != default) { bool flag = VersionInvalidHandler(); if (flag) { #if LOG_CLIENT_VERSIONING "warning:There have a newer App inistaller.".Log(); #endif return; } else { } } else { } mRemoteResVersion = remoteVersions.res_version; List <ResVersion> resUpdate = CachedVersion.CheckUpdates(Versions, ref remoteVersions); CachedVersion.WriteAsCached(); #if LOG_CLIENT_VERSIONING "log:Remote res update count is {0}".Log(resUpdate.Count.ToString()); "log:UpdateHandler is null: {0}".Log((UpdateHandler == default).ToString()); #endif if (resUpdate.Count == 0) { UpdateHandler?.Invoke(true, 1f); } else { StartLoadPatchRes(ref resUpdate); } } else { "error: Load remote version failed, url is {0}".Log(target.Url); } }