private IEnumerator DownloadVersionUpdate() { using (UnityWebRequest req = UnityWebRequest.Get(SystemConfig.GetFilePath("/", AppVersionInfoFile, false))) { UnityWebRequestAsyncOperation reqBin = req.SendWebRequest(); yield return(reqBin); if (req.isNetworkError || req.isHttpError) { // 重新下载 DebugUtils.Log(InfoType.Error, string.Format("DiffAssets : {0}", SystemConfig.GetFilePath("/", AppVersionInfoFile, false))); } else { // 保存到 临时目录 string text = req.downloadHandler.text; File.WriteAllText(SystemConfig.LocalTempDir + "/" + AppVersionInfoFile, text); GameDataManager.ChangeDir(SystemConfig.LocalTempDir); List <AppVersionUpdateData> newDataInfos = AppVersionUpdateData.Select((item) => { return(item.Start != null); }); GameDataManager.ClearFileData(AppVersionInfoFile); GameDataManager.ChangeDir(SystemConfig.GameDataDir); mVersionData = newDataInfos.Find((item) => { return(ContainVersion(item)); }); } } if (mVersionData != null) { yield return(DownloadAssetBundles()); } }
private void Awake() { mAssetbunlesWebRequest = new List <UnityWebRequest>(); mTotalSize = 0; mDownloadSize = 0; mTotalCount = 0; mDownloadCount = 0; mVersionData = null; }
protected override void OnDestroy() { base.OnDestroy(); Finished = null; SizeProgress = null; CountProgress = null; mVersionData = null; StopAllCoroutines(); }
private static bool ContainVersion(AppVersionUpdateData item) { Vector3Int version = SystemConfig.AppBaseVersion; if (item.Filters.Contains(version)) { return(false); } if (item.Start.x <= version.x && item.End.x >= version.x) { if (item.Start.y <= version.y && item.End.y >= version.y) { if (item.Start.z <= version.z && item.End.z >= version.z) { return(true); } } } return(false); }