From 7e6c678e91f2dde9c3b1a3ed672e7870a33875c6 Mon Sep 17 00:00:00 2001 From: hevinci Date: Wed, 3 Aug 2022 20:51:06 +0800 Subject: [PATCH] Update runtime --- .../Loader/AssetBundleFileLoader.cs | 6 ++-- .../Loader/AssetBundleWebLoader.cs | 2 +- .../Operations/RawFileOperation.cs | 16 ++++----- .../Runtime/DownloadSystem/DownloadSystem.cs | 36 +++++++++---------- .../Downloader/FileDownloader.cs | 4 +-- .../Downloader/HttpDownloader.cs | 4 +-- .../Downloader/TempDownloader.cs | 2 +- .../Runtime/PatchSystem/BundleInfo.cs | 12 +++---- .../Operations/DownloaderOperation.cs | 6 ++-- .../Operations/UpdateManifestOperation.cs | 8 ++--- .../Operations/UpdatePackageOperation.cs | 6 ++-- .../Runtime/PatchSystem/PatchBundle.cs | 28 +++++++++------ .../PatchSystem/PlayMode/HostPlayModeImpl.cs | 20 +++++------ .../Runtime/Services/IDecryptionServices.cs | 4 +-- 14 files changed, 80 insertions(+), 74 deletions(-) diff --git a/Assets/YooAsset/Runtime/AssetSystem/Loader/AssetBundleFileLoader.cs b/Assets/YooAsset/Runtime/AssetSystem/Loader/AssetBundleFileLoader.cs index c212eab..6b73c77 100644 --- a/Assets/YooAsset/Runtime/AssetSystem/Loader/AssetBundleFileLoader.cs +++ b/Assets/YooAsset/Runtime/AssetSystem/Loader/AssetBundleFileLoader.cs @@ -119,8 +119,8 @@ namespace YooAsset DecryptionFileInfo fileInfo = new DecryptionFileInfo(); fileInfo.BundleName = MainBundleInfo.BundleName; - fileInfo.BundleHash = MainBundleInfo.Hash; - fileInfo.BundleCRC = MainBundleInfo.CRC; + fileInfo.FileHash = MainBundleInfo.FileHash; + fileInfo.FileCRC = MainBundleInfo.FileCRC; ulong offset = AssetSystem.DecryptionServices.GetFileOffset(fileInfo); if (_isWaitForAsyncComplete) CacheBundle = AssetBundle.LoadFromFile(_fileLoadPath, 0, offset); @@ -169,7 +169,7 @@ namespace YooAsset if (MainBundleInfo.LoadMode == BundleInfo.ELoadMode.LoadFromCache) { string cacheLoadPath = MainBundleInfo.GetCacheLoadPath(); - if (DownloadSystem.CheckContentIntegrity(EVerifyLevel.High, cacheLoadPath, MainBundleInfo.SizeBytes, MainBundleInfo.CRC) == false) + if (DownloadSystem.CheckContentIntegrity(EVerifyLevel.High, cacheLoadPath, MainBundleInfo.FileSize, MainBundleInfo.FileCRC) == false) { if (File.Exists(cacheLoadPath)) { diff --git a/Assets/YooAsset/Runtime/AssetSystem/Loader/AssetBundleWebLoader.cs b/Assets/YooAsset/Runtime/AssetSystem/Loader/AssetBundleWebLoader.cs index 879a804..4b001dd 100644 --- a/Assets/YooAsset/Runtime/AssetSystem/Loader/AssetBundleWebLoader.cs +++ b/Assets/YooAsset/Runtime/AssetSystem/Loader/AssetBundleWebLoader.cs @@ -61,7 +61,7 @@ namespace YooAsset // 1. 从服务器或缓存中获取AssetBundle文件 if (_steps == ESteps.LoadFile) { - _webRequest = UnityWebRequestAssetBundle.GetAssetBundle(_webURL, Hash128.Parse(MainBundleInfo.Hash)); + _webRequest = UnityWebRequestAssetBundle.GetAssetBundle(_webURL, Hash128.Parse(MainBundleInfo.FileHash)); _webRequest.SendWebRequest(); _steps = ESteps.CheckFile; } diff --git a/Assets/YooAsset/Runtime/AssetSystem/Operations/RawFileOperation.cs b/Assets/YooAsset/Runtime/AssetSystem/Operations/RawFileOperation.cs index 5b25f27..dc4a51d 100644 --- a/Assets/YooAsset/Runtime/AssetSystem/Operations/RawFileOperation.cs +++ b/Assets/YooAsset/Runtime/AssetSystem/Operations/RawFileOperation.cs @@ -203,7 +203,7 @@ namespace YooAsset } else if (_bundleInfo.LoadMode == BundleInfo.ELoadMode.LoadFromStreaming) { - if (DownloadSystem.ContainsVerifyFile(_bundleInfo.Hash)) + if (DownloadSystem.ContainsVerifyFile(_bundleInfo.FileHash)) _steps = ESteps.CheckAndCopyFile; else _steps = ESteps.DownloadFromApk; @@ -238,9 +238,9 @@ namespace YooAsset } else { - if (DownloadSystem.CheckContentIntegrity(GetCachePath(), _bundleInfo.SizeBytes, _bundleInfo.CRC)) + if (DownloadSystem.CheckContentIntegrity(GetCachePath(), _bundleInfo.FileSize, _bundleInfo.FileCRC)) { - DownloadSystem.CacheVerifyFile(_bundleInfo.Hash, _bundleInfo.FileName); + DownloadSystem.CacheVerifyFile(_bundleInfo.FileHash, _bundleInfo.FileName); _steps = ESteps.CheckAndCopyFile; } else @@ -267,7 +267,7 @@ namespace YooAsset // 如果原生文件已经存在,则验证其完整性 if (File.Exists(CopyPath)) { - bool result = DownloadSystem.CheckContentIntegrity(CopyPath, _bundleInfo.SizeBytes, _bundleInfo.CRC); + bool result = DownloadSystem.CheckContentIntegrity(CopyPath, _bundleInfo.FileSize, _bundleInfo.FileCRC); if (result) { _steps = ESteps.Done; @@ -355,7 +355,7 @@ namespace YooAsset } else if (_bundleInfo.LoadMode == BundleInfo.ELoadMode.LoadFromStreaming) { - if (DownloadSystem.ContainsVerifyFile(_bundleInfo.Hash)) + if (DownloadSystem.ContainsVerifyFile(_bundleInfo.FileHash)) _steps = ESteps.CheckAndCopyFile; else _steps = ESteps.DownloadFromApk; @@ -421,9 +421,9 @@ namespace YooAsset } else { - if (DownloadSystem.CheckContentIntegrity(GetCachePath(), _bundleInfo.SizeBytes, _bundleInfo.CRC)) + if (DownloadSystem.CheckContentIntegrity(GetCachePath(), _bundleInfo.FileSize, _bundleInfo.FileCRC)) { - DownloadSystem.CacheVerifyFile(_bundleInfo.Hash, _bundleInfo.FileName); + DownloadSystem.CacheVerifyFile(_bundleInfo.FileHash, _bundleInfo.FileName); _steps = ESteps.CheckAndCopyFile; } else @@ -450,7 +450,7 @@ namespace YooAsset // 如果原生文件已经存在,则验证其完整性 if (File.Exists(CopyPath)) { - bool result = DownloadSystem.CheckContentIntegrity(CopyPath, _bundleInfo.SizeBytes, _bundleInfo.CRC); + bool result = DownloadSystem.CheckContentIntegrity(CopyPath, _bundleInfo.FileSize, _bundleInfo.FileCRC); if (result) { _steps = ESteps.Done; diff --git a/Assets/YooAsset/Runtime/DownloadSystem/DownloadSystem.cs b/Assets/YooAsset/Runtime/DownloadSystem/DownloadSystem.cs index 67eeeb7..ebcb067 100644 --- a/Assets/YooAsset/Runtime/DownloadSystem/DownloadSystem.cs +++ b/Assets/YooAsset/Runtime/DownloadSystem/DownloadSystem.cs @@ -74,13 +74,13 @@ namespace YooAsset public static DownloaderBase BeginDownload(BundleInfo bundleInfo, int failedTryAgain, int timeout = 60) { // 查询存在的下载器 - if (_downloaderDic.TryGetValue(bundleInfo.Hash, out var downloader)) + if (_downloaderDic.TryGetValue(bundleInfo.FileHash, out var downloader)) { return downloader; } // 如果资源已经缓存 - if (ContainsVerifyFile(bundleInfo.Hash)) + if (ContainsVerifyFile(bundleInfo.FileHash)) { var tempDownloader = new TempDownloader(bundleInfo); return tempDownloader; @@ -91,12 +91,12 @@ namespace YooAsset YooLogger.Log($"Beginning to download file : {bundleInfo.FileName} URL : {bundleInfo.RemoteMainURL}"); FileUtility.CreateFileDirectory(bundleInfo.GetCacheLoadPath()); DownloaderBase newDownloader; - if (bundleInfo.SizeBytes >= _breakpointResumeFileSize) + if (bundleInfo.FileSize >= _breakpointResumeFileSize) newDownloader = new HttpDownloader(bundleInfo); else newDownloader = new FileDownloader(bundleInfo); newDownloader.SendRequest(failedTryAgain, timeout); - _downloaderDic.Add(bundleInfo.Hash, newDownloader); + _downloaderDic.Add(bundleInfo.FileHash, newDownloader); return newDownloader; } } @@ -113,11 +113,11 @@ namespace YooAsset /// 查询是否为验证文件 /// 注意:被收录的文件完整性是绝对有效的 /// - public static bool ContainsVerifyFile(string hash) + public static bool ContainsVerifyFile(string fileHash) { - if (_cachedHashList.ContainsKey(hash)) + if (_cachedHashList.ContainsKey(fileHash)) { - string fileName = _cachedHashList[hash]; + string fileName = _cachedHashList[fileHash]; string filePath = SandboxHelper.MakeCacheFilePath(fileName); if (File.Exists(filePath)) { @@ -125,7 +125,7 @@ namespace YooAsset } else { - _cachedHashList.Remove(hash); + _cachedHashList.Remove(fileHash); YooLogger.Error($"Cache file is missing : {fileName}"); return false; } @@ -139,27 +139,27 @@ namespace YooAsset /// /// 缓存验证过的文件 /// - public static void CacheVerifyFile(string hash, string fileName) + public static void CacheVerifyFile(string fileHash, string fileName) { - if (_cachedHashList.ContainsKey(hash) == false) + if (_cachedHashList.ContainsKey(fileHash) == false) { YooLogger.Log($"Cache verify file : {fileName}"); - _cachedHashList.Add(hash, fileName); + _cachedHashList.Add(fileHash, fileName); } } /// /// 验证文件完整性 /// - public static bool CheckContentIntegrity(string filePath, long size, string crc) + public static bool CheckContentIntegrity(string filePath, long fileSize, string fileCRC) { - return CheckContentIntegrity(_verifyLevel, filePath, size, crc); + return CheckContentIntegrity(_verifyLevel, filePath, fileSize, fileCRC); } /// /// 验证文件完整性 /// - public static bool CheckContentIntegrity(EVerifyLevel verifyLevel, string filePath, long size, string crc) + public static bool CheckContentIntegrity(EVerifyLevel verifyLevel, string filePath, long fileSize, string fileCRC) { try { @@ -167,15 +167,15 @@ namespace YooAsset return false; // 先验证文件大小 - long fileSize = FileUtility.GetFileSize(filePath); - if (fileSize != size) + long size = FileUtility.GetFileSize(filePath); + if (size != fileSize) return false; // 再验证文件CRC if (verifyLevel == EVerifyLevel.High) { - string fileCRC = HashUtility.FileCRC32(filePath); - return fileCRC == crc; + string crc = HashUtility.FileCRC32(filePath); + return crc == fileCRC; } else { diff --git a/Assets/YooAsset/Runtime/DownloadSystem/Downloader/FileDownloader.cs b/Assets/YooAsset/Runtime/DownloadSystem/Downloader/FileDownloader.cs index e29c7b7..731efb4 100644 --- a/Assets/YooAsset/Runtime/DownloadSystem/Downloader/FileDownloader.cs +++ b/Assets/YooAsset/Runtime/DownloadSystem/Downloader/FileDownloader.cs @@ -81,7 +81,7 @@ namespace YooAsset if (hasError == false) { // 注意:如果文件验证失败需要删除文件 - if (DownloadSystem.CheckContentIntegrity(_bundleInfo.GetCacheLoadPath(), _bundleInfo.SizeBytes, _bundleInfo.CRC) == false) + if (DownloadSystem.CheckContentIntegrity(_bundleInfo.GetCacheLoadPath(), _bundleInfo.FileSize, _bundleInfo.FileCRC) == false) { hasError = true; _lastError = $"Verification failed"; @@ -91,7 +91,7 @@ namespace YooAsset if (hasError == false) { _steps = ESteps.Succeed; - DownloadSystem.CacheVerifyFile(_bundleInfo.Hash, _bundleInfo.FileName); + DownloadSystem.CacheVerifyFile(_bundleInfo.FileHash, _bundleInfo.FileName); } else { diff --git a/Assets/YooAsset/Runtime/DownloadSystem/Downloader/HttpDownloader.cs b/Assets/YooAsset/Runtime/DownloadSystem/Downloader/HttpDownloader.cs index b3408c6..0c2b9a1 100644 --- a/Assets/YooAsset/Runtime/DownloadSystem/Downloader/HttpDownloader.cs +++ b/Assets/YooAsset/Runtime/DownloadSystem/Downloader/HttpDownloader.cs @@ -197,7 +197,7 @@ namespace YooAsset _requestURL = GetRequestURL(); _threadDownloader = new ThreadDownloader(); - _threadDownloader.Run(_requestURL, _bundleInfo.GetCacheLoadPath(), _bundleInfo.FileName, _bundleInfo.CRC, _bundleInfo.SizeBytes, _timeout); + _threadDownloader.Run(_requestURL, _bundleInfo.GetCacheLoadPath(), _bundleInfo.FileName, _bundleInfo.FileCRC, _bundleInfo.FileSize, _timeout); _steps = ESteps.CheckDownload; } @@ -226,7 +226,7 @@ namespace YooAsset } else { - DownloadSystem.CacheVerifyFile(_bundleInfo.Hash, _bundleInfo.FileName); + DownloadSystem.CacheVerifyFile(_bundleInfo.FileHash, _bundleInfo.FileName); _steps = ESteps.Succeed; } } diff --git a/Assets/YooAsset/Runtime/DownloadSystem/Downloader/TempDownloader.cs b/Assets/YooAsset/Runtime/DownloadSystem/Downloader/TempDownloader.cs index aafdb89..1ff933e 100644 --- a/Assets/YooAsset/Runtime/DownloadSystem/Downloader/TempDownloader.cs +++ b/Assets/YooAsset/Runtime/DownloadSystem/Downloader/TempDownloader.cs @@ -6,7 +6,7 @@ namespace YooAsset public TempDownloader(BundleInfo bundleInfo) : base(bundleInfo) { _downloadProgress = 1f; - _downloadedBytes = (ulong)bundleInfo.SizeBytes; + _downloadedBytes = (ulong)bundleInfo.FileSize; _steps = ESteps.Succeed; } diff --git a/Assets/YooAsset/Runtime/PatchSystem/BundleInfo.cs b/Assets/YooAsset/Runtime/PatchSystem/BundleInfo.cs index ac664e0..f48dabb 100644 --- a/Assets/YooAsset/Runtime/PatchSystem/BundleInfo.cs +++ b/Assets/YooAsset/Runtime/PatchSystem/BundleInfo.cs @@ -46,42 +46,42 @@ namespace YooAsset /// /// 文件哈希值 /// - public string Hash + public string FileHash { get { if (_patchBundle == null) return string.Empty; else - return _patchBundle.Hash; + return _patchBundle.FileHash; } } /// /// 校验的CRC /// - public string CRC + public string FileCRC { get { if (_patchBundle == null) return string.Empty; else - return _patchBundle.CRC; + return _patchBundle.FileCRC; } } /// /// 文件大小 /// - public long SizeBytes + public long FileSize { get { if (_patchBundle == null) return 0; else - return _patchBundle.SizeBytes; + return _patchBundle.FileSize; } } diff --git a/Assets/YooAsset/Runtime/PatchSystem/Operations/DownloaderOperation.cs b/Assets/YooAsset/Runtime/PatchSystem/Operations/DownloaderOperation.cs index 501ec18..5b155c5 100644 --- a/Assets/YooAsset/Runtime/PatchSystem/Operations/DownloaderOperation.cs +++ b/Assets/YooAsset/Runtime/PatchSystem/Operations/DownloaderOperation.cs @@ -86,7 +86,7 @@ namespace YooAsset TotalDownloadCount = downloadList.Count; foreach (var patchBundle in downloadList) { - TotalDownloadBytes += patchBundle.SizeBytes; + TotalDownloadBytes += patchBundle.FileSize; } } } @@ -138,7 +138,7 @@ namespace YooAsset // 下载成功 _removeList.Add(downloader); CurrentDownloadCount++; - CurrentDownloadBytes += bundleInfo.SizeBytes; + CurrentDownloadBytes += bundleInfo.FileSize; } // 移除已经完成的下载器(无论成功或失败) @@ -170,7 +170,7 @@ namespace YooAsset var operation = DownloadSystem.BeginDownload(bundleInfo, _failedTryAgain); _downloaders.Add(operation); _downloadList.RemoveAt(index); - OnStartDownloadFileCallback?.Invoke(bundleInfo.BundleName, bundleInfo.SizeBytes); + OnStartDownloadFileCallback?.Invoke(bundleInfo.BundleName, bundleInfo.FileSize); } } diff --git a/Assets/YooAsset/Runtime/PatchSystem/Operations/UpdateManifestOperation.cs b/Assets/YooAsset/Runtime/PatchSystem/Operations/UpdateManifestOperation.cs index 521f461..9d5e682 100644 --- a/Assets/YooAsset/Runtime/PatchSystem/Operations/UpdateManifestOperation.cs +++ b/Assets/YooAsset/Runtime/PatchSystem/Operations/UpdateManifestOperation.cs @@ -377,14 +377,14 @@ namespace YooAsset foreach (var patchBundle in localPatchManifest.BundleList) { // 忽略缓存文件 - if (DownloadSystem.ContainsVerifyFile(patchBundle.Hash)) + if (DownloadSystem.ContainsVerifyFile(patchBundle.FileHash)) continue; // 忽略APP资源 // 注意:如果是APP资源并且哈希值相同,则不需要下载 if (appPatchManifest.TryGetPatchBundle(patchBundle.BundleName, out PatchBundle appPatchBundle)) { - if (appPatchBundle.IsBuildin && appPatchBundle.Hash == patchBundle.Hash) + if (appPatchBundle.IsBuildin && appPatchBundle.FileHash == patchBundle.FileHash) continue; } @@ -458,7 +458,7 @@ namespace YooAsset private void VerifyInThread(object infoObj) { ThreadInfo info = (ThreadInfo)infoObj; - info.Result = DownloadSystem.CheckContentIntegrity(info.FilePath, info.Bundle.SizeBytes, info.Bundle.CRC); + info.Result = DownloadSystem.CheckContentIntegrity(info.FilePath, info.Bundle.FileSize, info.Bundle.FileCRC); _syncContext.Post(VerifyCallback, info); } private void VerifyCallback(object obj) @@ -467,7 +467,7 @@ namespace YooAsset if (info.Result) { VerifySuccessCount++; - DownloadSystem.CacheVerifyFile(info.Bundle.Hash, info.Bundle.FileName); + DownloadSystem.CacheVerifyFile(info.Bundle.FileHash, info.Bundle.FileName); } else { diff --git a/Assets/YooAsset/Runtime/PatchSystem/Operations/UpdatePackageOperation.cs b/Assets/YooAsset/Runtime/PatchSystem/Operations/UpdatePackageOperation.cs index 5bcc633..827dff4 100644 --- a/Assets/YooAsset/Runtime/PatchSystem/Operations/UpdatePackageOperation.cs +++ b/Assets/YooAsset/Runtime/PatchSystem/Operations/UpdatePackageOperation.cs @@ -198,14 +198,14 @@ namespace YooAsset foreach (var patchBundle in _remotePatchManifest.BundleList) { // 忽略缓存文件 - if (DownloadSystem.ContainsVerifyFile(patchBundle.Hash)) + if (DownloadSystem.ContainsVerifyFile(patchBundle.FileHash)) continue; // 忽略APP资源 // 注意:如果是APP资源并且哈希值相同,则不需要下载 if (_impl.AppPatchManifest.TryGetPatchBundle(patchBundle.BundleName, out PatchBundle appPatchBundle)) { - if (appPatchBundle.IsBuildin && appPatchBundle.Hash == patchBundle.Hash) + if (appPatchBundle.IsBuildin && appPatchBundle.FileHash == patchBundle.FileHash) continue; } @@ -215,7 +215,7 @@ namespace YooAsset if (File.Exists(filePath)) { long fileSize = FileUtility.GetFileSize(filePath); - if (fileSize == patchBundle.SizeBytes) + if (fileSize == patchBundle.FileSize) continue; } diff --git a/Assets/YooAsset/Runtime/PatchSystem/PatchBundle.cs b/Assets/YooAsset/Runtime/PatchSystem/PatchBundle.cs index bf6631a..0efbc15 100644 --- a/Assets/YooAsset/Runtime/PatchSystem/PatchBundle.cs +++ b/Assets/YooAsset/Runtime/PatchSystem/PatchBundle.cs @@ -11,20 +11,25 @@ namespace YooAsset /// public string BundleName; + /// + /// 内容哈希值 + /// + public string ContentHash; + /// /// 文件哈希值 /// - public string Hash; + public string FileHash; /// /// 文件校验码 /// - public string CRC; + public string FileCRC; /// /// 文件大小(字节数) /// - public long SizeBytes; + public long FileSize; /// /// 资源包的分类标签 @@ -58,12 +63,13 @@ namespace YooAsset public string FileName { private set; get; } - public PatchBundle(string bundleName, string hash, string crc, long sizeBytes, string[] tags) + public PatchBundle(string bundleName, string contentHash, string fileHash, string fileCRC, long fileSize, string[] tags) { BundleName = bundleName; - Hash = hash; - CRC = crc; - SizeBytes = sizeBytes; + ContentHash = contentHash; + FileHash = fileHash; + FileCRC = fileCRC; + FileSize = fileSize; Tags = tags; } @@ -101,24 +107,24 @@ namespace YooAsset { if (nameStype == 1) { - FileName = Hash; + FileName = FileHash; } else if (nameStype == 2) { string tempFileExtension = System.IO.Path.GetExtension(BundleName); - FileName = $"{Hash}{tempFileExtension}"; + FileName = $"{FileHash}{tempFileExtension}"; } else if (nameStype == 3) { string tempFileExtension = System.IO.Path.GetExtension(BundleName); string tempBundleName = BundleName.Replace('/', '_').Replace(tempFileExtension, ""); - FileName = $"{tempBundleName}_{Hash}"; + FileName = $"{tempBundleName}_{FileHash}"; } else if (nameStype == 4) { string tempFileExtension = System.IO.Path.GetExtension(BundleName); string tempBundleName = BundleName.Replace('/', '_').Replace(tempFileExtension, ""); - FileName = $"{tempBundleName}_{Hash}{tempFileExtension}"; + FileName = $"{tempBundleName}_{FileHash}{tempFileExtension}"; } else { diff --git a/Assets/YooAsset/Runtime/PatchSystem/PlayMode/HostPlayModeImpl.cs b/Assets/YooAsset/Runtime/PatchSystem/PlayMode/HostPlayModeImpl.cs index 242c3ce..11a232b 100644 --- a/Assets/YooAsset/Runtime/PatchSystem/PlayMode/HostPlayModeImpl.cs +++ b/Assets/YooAsset/Runtime/PatchSystem/PlayMode/HostPlayModeImpl.cs @@ -131,14 +131,14 @@ namespace YooAsset foreach (var patchBundle in LocalPatchManifest.BundleList) { // 忽略缓存文件 - if (DownloadSystem.ContainsVerifyFile(patchBundle.Hash)) + if (DownloadSystem.ContainsVerifyFile(patchBundle.FileHash)) continue; // 忽略APP资源 // 注意:如果是APP资源并且哈希值相同,则不需要下载 if (AppPatchManifest.TryGetPatchBundle(patchBundle.BundleName, out PatchBundle appPatchBundle)) { - if (appPatchBundle.IsBuildin && appPatchBundle.Hash == patchBundle.Hash) + if (appPatchBundle.IsBuildin && appPatchBundle.FileHash == patchBundle.FileHash) continue; } @@ -163,14 +163,14 @@ namespace YooAsset foreach (var patchBundle in LocalPatchManifest.BundleList) { // 忽略缓存文件 - if (DownloadSystem.ContainsVerifyFile(patchBundle.Hash)) + if (DownloadSystem.ContainsVerifyFile(patchBundle.FileHash)) continue; // 忽略APP资源 // 注意:如果是APP资源并且哈希值相同,则不需要下载 if (AppPatchManifest.TryGetPatchBundle(patchBundle.BundleName, out PatchBundle appPatchBundle)) { - if (appPatchBundle.IsBuildin && appPatchBundle.Hash == patchBundle.Hash) + if (appPatchBundle.IsBuildin && appPatchBundle.FileHash == patchBundle.FileHash) continue; } @@ -233,14 +233,14 @@ namespace YooAsset foreach (var patchBundle in checkList) { // 忽略缓存文件 - if (DownloadSystem.ContainsVerifyFile(patchBundle.Hash)) + if (DownloadSystem.ContainsVerifyFile(patchBundle.FileHash)) continue; // 忽略APP资源 // 注意:如果是APP资源并且哈希值相同,则不需要下载 if (AppPatchManifest.TryGetPatchBundle(patchBundle.BundleName, out PatchBundle appPatchBundle)) { - if (appPatchBundle.IsBuildin && appPatchBundle.Hash == patchBundle.Hash) + if (appPatchBundle.IsBuildin && appPatchBundle.FileHash == patchBundle.FileHash) continue; } @@ -269,7 +269,7 @@ namespace YooAsset continue; // 忽略缓存文件 - if (DownloadSystem.ContainsVerifyFile(patchBundle.Hash)) + if (DownloadSystem.ContainsVerifyFile(patchBundle.FileHash)) continue; // 查询DLC资源 @@ -301,7 +301,7 @@ namespace YooAsset continue; // 忽略缓存文件 - if (DownloadSystem.ContainsVerifyFile(patchBundle.Hash)) + if (DownloadSystem.ContainsVerifyFile(patchBundle.FileHash)) continue; downloadList.Add(patchBundle); @@ -377,7 +377,7 @@ namespace YooAsset throw new Exception("Should never get here !"); // 查询沙盒资源 - if (DownloadSystem.ContainsVerifyFile(patchBundle.Hash)) + if (DownloadSystem.ContainsVerifyFile(patchBundle.FileHash)) { BundleInfo bundleInfo = new BundleInfo(patchBundle, BundleInfo.ELoadMode.LoadFromCache); return bundleInfo; @@ -386,7 +386,7 @@ namespace YooAsset // 查询APP资源 if (AppPatchManifest.TryGetPatchBundle(patchBundle.BundleName, out PatchBundle appPatchBundle)) { - if (appPatchBundle.IsBuildin && appPatchBundle.Hash == patchBundle.Hash) + if (appPatchBundle.IsBuildin && appPatchBundle.FileHash == patchBundle.FileHash) { BundleInfo bundleInfo = new BundleInfo(appPatchBundle, BundleInfo.ELoadMode.LoadFromStreaming); return bundleInfo; diff --git a/Assets/YooAsset/Runtime/Services/IDecryptionServices.cs b/Assets/YooAsset/Runtime/Services/IDecryptionServices.cs index f037954..ba39b4b 100644 --- a/Assets/YooAsset/Runtime/Services/IDecryptionServices.cs +++ b/Assets/YooAsset/Runtime/Services/IDecryptionServices.cs @@ -4,8 +4,8 @@ namespace YooAsset public struct DecryptionFileInfo { public string BundleName; - public string BundleHash; - public string BundleCRC; + public string FileHash; + public string FileCRC; } public interface IDecryptionServices