From 7936ba31ea16edcd56adad981dec3c801b0ab3be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E5=86=A0=E5=B3=B0?= Date: Wed, 12 Feb 2025 16:27:30 +0800 Subject: [PATCH] update file system MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit WebGL网页平台支持资源加密。 --- .../DefaultWebRemoteFileSystem.cs | 9 ++ .../Operation/DWRFSLoadBundleOperation.cs | 47 +++--- .../DefaultWebServerFileSystem.cs | 9 ++ .../Operation/DWSFSLoadBundleOperation.cs | 45 +++--- .../FileSystem/FileSystemParameters.cs | 6 +- .../Internal/DownloadAssetBundleOperation.cs | 14 ++ .../DownloadAssetBundleOperation.cs.meta | 11 ++ .../DownloadWebEncryptAssetBundleOperation.cs | 144 ++++++++++++++++++ ...loadWebEncryptAssetBundleOperation.cs.meta | 11 ++ ... DownloadWebNormalAssetBundleOperation.cs} | 15 +- ...loadWebNormalAssetBundleOperation.cs.meta} | 0 .../Services/IWebDecryptionServices.cs | Bin 446 -> 1438 bytes 12 files changed, 262 insertions(+), 49 deletions(-) create mode 100644 Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadAssetBundleOperation.cs create mode 100644 Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadAssetBundleOperation.cs.meta create mode 100644 Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadWebEncryptAssetBundleOperation.cs create mode 100644 Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadWebEncryptAssetBundleOperation.cs.meta rename Assets/YooAsset/Runtime/FileSystem/Operation/Internal/{DownloadHandlerAssetBundleOperation.cs => DownloadWebNormalAssetBundleOperation.cs} (90%) rename Assets/YooAsset/Runtime/FileSystem/Operation/Internal/{DownloadHandlerAssetBundleOperation.cs.meta => DownloadWebNormalAssetBundleOperation.cs.meta} (100%) diff --git a/Assets/YooAsset/Runtime/FileSystem/DefaultWebRemoteFileSystem/DefaultWebRemoteFileSystem.cs b/Assets/YooAsset/Runtime/FileSystem/DefaultWebRemoteFileSystem/DefaultWebRemoteFileSystem.cs index d653bb48..ffbe1f2a 100644 --- a/Assets/YooAsset/Runtime/FileSystem/DefaultWebRemoteFileSystem/DefaultWebRemoteFileSystem.cs +++ b/Assets/YooAsset/Runtime/FileSystem/DefaultWebRemoteFileSystem/DefaultWebRemoteFileSystem.cs @@ -47,6 +47,11 @@ namespace YooAsset /// 自定义参数:跨域下载服务接口 /// public IRemoteServices RemoteServices { private set; get; } = null; + + /// + /// 自定义参数:解密方法类 + /// + public IWebDecryptionServices DecryptionServices { private set; get; } #endregion @@ -108,6 +113,10 @@ namespace YooAsset { RemoteServices = (IRemoteServices)value; } + else if (name == FileSystemParametersDefine.DECRYPTION_SERVICES) + { + DecryptionServices = (IWebDecryptionServices)value; + } else { YooLogger.Warning($"Invalid parameter : {name}"); diff --git a/Assets/YooAsset/Runtime/FileSystem/DefaultWebRemoteFileSystem/Operation/DWRFSLoadBundleOperation.cs b/Assets/YooAsset/Runtime/FileSystem/DefaultWebRemoteFileSystem/Operation/DWRFSLoadBundleOperation.cs index 293bae15..b3edf4a9 100644 --- a/Assets/YooAsset/Runtime/FileSystem/DefaultWebRemoteFileSystem/Operation/DWRFSLoadBundleOperation.cs +++ b/Assets/YooAsset/Runtime/FileSystem/DefaultWebRemoteFileSystem/Operation/DWRFSLoadBundleOperation.cs @@ -1,6 +1,4 @@  -using UnityEngine; - namespace YooAsset { internal class DWRFSLoadAssetBundleOperation : FSLoadBundleOperation @@ -8,13 +6,13 @@ namespace YooAsset private enum ESteps { None, - DownloadFile, + DownloadAssetBundle, Done, } private readonly DefaultWebRemoteFileSystem _fileSystem; private readonly PackageBundle _bundle; - private DownloadHandlerAssetBundleOperation _downloadhanlderAssetBundleOp; + private DownloadAssetBundleOperation _downloadAssetBundleOp; private ESteps _steps = ESteps.None; @@ -25,38 +23,47 @@ namespace YooAsset } internal override void InternalOnStart() { - _steps = ESteps.DownloadFile; + _steps = ESteps.DownloadAssetBundle; } internal override void InternalOnUpdate() { if (_steps == ESteps.None || _steps == ESteps.Done) return; - if (_steps == ESteps.DownloadFile) + if (_steps == ESteps.DownloadAssetBundle) { - if (_downloadhanlderAssetBundleOp == null) + if (_downloadAssetBundleOp == null) { DownloadParam downloadParam = new DownloadParam(int.MaxValue, 60); downloadParam.MainURL = _fileSystem.RemoteServices.GetRemoteMainURL(_bundle.FileName); downloadParam.FallbackURL = _fileSystem.RemoteServices.GetRemoteFallbackURL(_bundle.FileName); - _downloadhanlderAssetBundleOp = new DownloadHandlerAssetBundleOperation(_fileSystem.DisableUnityWebCache, _bundle, downloadParam); - OperationSystem.StartOperation(_fileSystem.PackageName, _downloadhanlderAssetBundleOp); + + if (_bundle.Encrypted) + { + _downloadAssetBundleOp = new DownloadWebEncryptAssetBundleOperation(_fileSystem.DecryptionServices, _bundle, downloadParam); + OperationSystem.StartOperation(_fileSystem.PackageName, _downloadAssetBundleOp); + } + else + { + _downloadAssetBundleOp = new DownloadWebNormalAssetBundleOperation(_fileSystem.DisableUnityWebCache, _bundle, downloadParam); + OperationSystem.StartOperation(_fileSystem.PackageName, _downloadAssetBundleOp); + } } - DownloadProgress = _downloadhanlderAssetBundleOp.DownloadProgress; - DownloadedBytes = _downloadhanlderAssetBundleOp.DownloadedBytes; - Progress = _downloadhanlderAssetBundleOp.Progress; - if (_downloadhanlderAssetBundleOp.IsDone == false) + DownloadProgress = _downloadAssetBundleOp.DownloadProgress; + DownloadedBytes = _downloadAssetBundleOp.DownloadedBytes; + Progress = _downloadAssetBundleOp.Progress; + if (_downloadAssetBundleOp.IsDone == false) return; - if (_downloadhanlderAssetBundleOp.Status == EOperationStatus.Succeed) + if (_downloadAssetBundleOp.Status == EOperationStatus.Succeed) { - var assetBundle = _downloadhanlderAssetBundleOp.Result; + var assetBundle = _downloadAssetBundleOp.Result; if(assetBundle == null) { _steps = ESteps.Done; Status = EOperationStatus.Failed; - Error = $"{nameof(DownloadHandlerAssetBundleOperation)} loaded asset bundle is null !"; + Error = $"{nameof(DownloadAssetBundleOperation)} loaded asset bundle is null !"; } else { @@ -69,7 +76,7 @@ namespace YooAsset { _steps = ESteps.Done; Status = EOperationStatus.Failed; - Error = _downloadhanlderAssetBundleOp.Error; + Error = _downloadAssetBundleOp.Error; } } } @@ -85,10 +92,10 @@ namespace YooAsset } public override void AbortDownloadOperation() { - if (_steps == ESteps.DownloadFile) + if (_steps == ESteps.DownloadAssetBundle) { - if (_downloadhanlderAssetBundleOp != null) - _downloadhanlderAssetBundleOp.SetAbort(); + if (_downloadAssetBundleOp != null) + _downloadAssetBundleOp.SetAbort(); } } } diff --git a/Assets/YooAsset/Runtime/FileSystem/DefaultWebServerFileSystem/DefaultWebServerFileSystem.cs b/Assets/YooAsset/Runtime/FileSystem/DefaultWebServerFileSystem/DefaultWebServerFileSystem.cs index fffb0c1f..82e003c9 100644 --- a/Assets/YooAsset/Runtime/FileSystem/DefaultWebServerFileSystem/DefaultWebServerFileSystem.cs +++ b/Assets/YooAsset/Runtime/FileSystem/DefaultWebServerFileSystem/DefaultWebServerFileSystem.cs @@ -56,6 +56,11 @@ namespace YooAsset /// 禁用Unity的网络缓存 /// public bool DisableUnityWebCache { private set; get; } = false; + + /// + /// 自定义参数:解密方法类 + /// + public IWebDecryptionServices DecryptionServices { private set; get; } #endregion @@ -113,6 +118,10 @@ namespace YooAsset { DisableUnityWebCache = (bool)value; } + else if (name == FileSystemParametersDefine.DECRYPTION_SERVICES) + { + DecryptionServices = (IWebDecryptionServices)value; + } else { YooLogger.Warning($"Invalid parameter : {name}"); diff --git a/Assets/YooAsset/Runtime/FileSystem/DefaultWebServerFileSystem/Operation/DWSFSLoadBundleOperation.cs b/Assets/YooAsset/Runtime/FileSystem/DefaultWebServerFileSystem/Operation/DWSFSLoadBundleOperation.cs index c908c97d..b57fc776 100644 --- a/Assets/YooAsset/Runtime/FileSystem/DefaultWebServerFileSystem/Operation/DWSFSLoadBundleOperation.cs +++ b/Assets/YooAsset/Runtime/FileSystem/DefaultWebServerFileSystem/Operation/DWSFSLoadBundleOperation.cs @@ -6,13 +6,13 @@ namespace YooAsset private enum ESteps { None, - DownloadFile, + DownloadAssetBundle, Done, } private readonly DefaultWebServerFileSystem _fileSystem; private readonly PackageBundle _bundle; - private DownloadHandlerAssetBundleOperation _downloadhanlderAssetBundleOp; + private DownloadAssetBundleOperation _downloadAssetBundleOp; private ESteps _steps = ESteps.None; @@ -23,39 +23,48 @@ namespace YooAsset } internal override void InternalOnStart() { - _steps = ESteps.DownloadFile; + _steps = ESteps.DownloadAssetBundle; } internal override void InternalOnUpdate() { if (_steps == ESteps.None || _steps == ESteps.Done) return; - if (_steps == ESteps.DownloadFile) + if (_steps == ESteps.DownloadAssetBundle) { - if (_downloadhanlderAssetBundleOp == null) + if (_downloadAssetBundleOp == null) { DownloadParam downloadParam = new DownloadParam(int.MaxValue, 60); string fileLoadPath = _fileSystem.GetWebFileLoadPath(_bundle); downloadParam.MainURL = DownloadSystemHelper.ConvertToWWWPath(fileLoadPath); downloadParam.FallbackURL = downloadParam.MainURL; - _downloadhanlderAssetBundleOp = new DownloadHandlerAssetBundleOperation(_fileSystem.DisableUnityWebCache, _bundle, downloadParam); - OperationSystem.StartOperation(_fileSystem.PackageName, _downloadhanlderAssetBundleOp); + + if (_bundle.Encrypted) + { + _downloadAssetBundleOp = new DownloadWebEncryptAssetBundleOperation(_fileSystem.DecryptionServices, _bundle, downloadParam); + OperationSystem.StartOperation(_fileSystem.PackageName, _downloadAssetBundleOp); + } + else + { + _downloadAssetBundleOp = new DownloadWebNormalAssetBundleOperation(_fileSystem.DisableUnityWebCache, _bundle, downloadParam); + OperationSystem.StartOperation(_fileSystem.PackageName, _downloadAssetBundleOp); + } } - DownloadProgress = _downloadhanlderAssetBundleOp.DownloadProgress; - DownloadedBytes = _downloadhanlderAssetBundleOp.DownloadedBytes; - Progress = _downloadhanlderAssetBundleOp.Progress; - if (_downloadhanlderAssetBundleOp.IsDone == false) + DownloadProgress = _downloadAssetBundleOp.DownloadProgress; + DownloadedBytes = _downloadAssetBundleOp.DownloadedBytes; + Progress = _downloadAssetBundleOp.Progress; + if (_downloadAssetBundleOp.IsDone == false) return; - if (_downloadhanlderAssetBundleOp.Status == EOperationStatus.Succeed) + if (_downloadAssetBundleOp.Status == EOperationStatus.Succeed) { - var assetBundle = _downloadhanlderAssetBundleOp.Result; + var assetBundle = _downloadAssetBundleOp.Result; if (assetBundle == null) { _steps = ESteps.Done; Status = EOperationStatus.Failed; - Error = $"{nameof(DownloadHandlerAssetBundleOperation)} loaded asset bundle is null !"; + Error = $"{nameof(DownloadAssetBundleOperation)} loaded asset bundle is null !"; } else { @@ -68,7 +77,7 @@ namespace YooAsset { _steps = ESteps.Done; Status = EOperationStatus.Failed; - Error = _downloadhanlderAssetBundleOp.Error; + Error = _downloadAssetBundleOp.Error; } } } @@ -84,10 +93,10 @@ namespace YooAsset } public override void AbortDownloadOperation() { - if (_steps == ESteps.DownloadFile) + if (_steps == ESteps.DownloadAssetBundle) { - if (_downloadhanlderAssetBundleOp != null) - _downloadhanlderAssetBundleOp.SetAbort(); + if (_downloadAssetBundleOp != null) + _downloadAssetBundleOp.SetAbort(); } } } diff --git a/Assets/YooAsset/Runtime/FileSystem/FileSystemParameters.cs b/Assets/YooAsset/Runtime/FileSystem/FileSystemParameters.cs index 15d88727..9bb0dee7 100644 --- a/Assets/YooAsset/Runtime/FileSystem/FileSystemParameters.cs +++ b/Assets/YooAsset/Runtime/FileSystem/FileSystemParameters.cs @@ -110,10 +110,11 @@ namespace YooAsset /// 创建默认的WebServer文件系统参数 /// /// 禁用Unity的网络缓存 - public static FileSystemParameters CreateDefaultWebServerFileSystemParameters(bool disableUnityWebCache = false) + public static FileSystemParameters CreateDefaultWebServerFileSystemParameters(IWebDecryptionServices decryptionServices = null, bool disableUnityWebCache = false) { string fileSystemClass = typeof(DefaultWebServerFileSystem).FullName; var fileSystemParams = new FileSystemParameters(fileSystemClass, null); + fileSystemParams.AddParameter(FileSystemParametersDefine.DECRYPTION_SERVICES, decryptionServices); fileSystemParams.AddParameter(FileSystemParametersDefine.DISABLE_UNITY_WEB_CACHE, disableUnityWebCache); return fileSystemParams; } @@ -123,11 +124,12 @@ namespace YooAsset /// /// 远端资源地址查询服务类 /// 禁用Unity的网络缓存 - public static FileSystemParameters CreateDefaultWebRemoteFileSystemParameters(IRemoteServices remoteServices, bool disableUnityWebCache = false) + public static FileSystemParameters CreateDefaultWebRemoteFileSystemParameters(IRemoteServices remoteServices, IWebDecryptionServices decryptionServices = null, bool disableUnityWebCache = false) { string fileSystemClass = typeof(DefaultWebRemoteFileSystem).FullName; var fileSystemParams = new FileSystemParameters(fileSystemClass, null); fileSystemParams.AddParameter(FileSystemParametersDefine.REMOTE_SERVICES, remoteServices); + fileSystemParams.AddParameter(FileSystemParametersDefine.DECRYPTION_SERVICES, decryptionServices); fileSystemParams.AddParameter(FileSystemParametersDefine.DISABLE_UNITY_WEB_CACHE, disableUnityWebCache); return fileSystemParams; } diff --git a/Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadAssetBundleOperation.cs b/Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadAssetBundleOperation.cs new file mode 100644 index 00000000..d5178c12 --- /dev/null +++ b/Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadAssetBundleOperation.cs @@ -0,0 +1,14 @@ +using UnityEngine; +using UnityEngine.Networking; + +namespace YooAsset +{ + internal abstract class DownloadAssetBundleOperation : DefaultDownloadFileOperation + { + internal DownloadAssetBundleOperation(PackageBundle bundle, DownloadParam param) : base(bundle, param) + { + } + + public AssetBundle Result; + } +} \ No newline at end of file diff --git a/Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadAssetBundleOperation.cs.meta b/Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadAssetBundleOperation.cs.meta new file mode 100644 index 00000000..70966c59 --- /dev/null +++ b/Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadAssetBundleOperation.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0f65d2f6038b95246b7a09cec4055b3a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadWebEncryptAssetBundleOperation.cs b/Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadWebEncryptAssetBundleOperation.cs new file mode 100644 index 00000000..928f429c --- /dev/null +++ b/Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadWebEncryptAssetBundleOperation.cs @@ -0,0 +1,144 @@ +using UnityEngine; +using UnityEngine.Networking; + +namespace YooAsset +{ + internal class DownloadWebEncryptAssetBundleOperation : DownloadAssetBundleOperation + { + private readonly IWebDecryptionServices _decryptionServices; + private DownloadHandlerBuffer _downloadhandler; + private ESteps _steps = ESteps.None; + + internal DownloadWebEncryptAssetBundleOperation(IWebDecryptionServices decryptionServices, PackageBundle bundle, DownloadParam param) : base(bundle, param) + { + _decryptionServices = decryptionServices; + } + internal override void InternalOnStart() + { + _steps = ESteps.CreateRequest; + } + internal override void InternalOnUpdate() + { + if (_steps == ESteps.None || _steps == ESteps.Done) + return; + + // 创建下载器 + if (_steps == ESteps.CreateRequest) + { + // 获取请求地址 + _requestURL = GetRequestURL(); + + // 重置变量 + ResetRequestFiled(); + + // 创建下载器 + CreateWebRequest(); + + _steps = ESteps.CheckRequest; + } + + // 检测下载结果 + if (_steps == ESteps.CheckRequest) + { + DownloadProgress = _webRequest.downloadProgress; + DownloadedBytes = (long)_webRequest.downloadedBytes; + Progress = DownloadProgress; + if (_webRequest.isDone == false) + { + CheckRequestTimeout(); + return; + } + + // 检查网络错误 + if (CheckRequestResult()) + { + if (_decryptionServices == null) + { + _steps = ESteps.Done; + Status = EOperationStatus.Failed; + Error = $"The {nameof(IWebDecryptionServices)} is null !"; + YooLogger.Error(Error); + return; + } + + AssetBundle assetBundle = LoadEncryptedAssetBundle(_downloadhandler.data); + if (assetBundle == null) + { + _steps = ESteps.Done; + Status = EOperationStatus.Failed; + Error = "Download handler asset bundle object is null !"; + } + else + { + _steps = ESteps.Done; + Result = assetBundle; + Status = EOperationStatus.Succeed; + } + } + else + { + _steps = ESteps.TryAgain; + } + + // 注意:最终释放请求器 + DisposeWebRequest(); + } + + // 重新尝试下载 + if (_steps == ESteps.TryAgain) + { + if (FailedTryAgain <= 0) + { + Status = EOperationStatus.Failed; + _steps = ESteps.Done; + YooLogger.Error(Error); + return; + } + + _tryAgainTimer += Time.unscaledDeltaTime; + if (_tryAgainTimer > 1f) + { + FailedTryAgain--; + _steps = ESteps.CreateRequest; + YooLogger.Warning(Error); + } + } + } + internal override void InternalOnAbort() + { + _steps = ESteps.Done; + DisposeWebRequest(); + } + + private void CreateWebRequest() + { + _downloadhandler = new DownloadHandlerBuffer(); + _webRequest = DownloadSystemHelper.NewUnityWebRequestGet(_requestURL); + _webRequest.downloadHandler = _downloadhandler; + _webRequest.disposeDownloadHandlerOnDispose = true; + _webRequest.SendWebRequest(); + } + private void DisposeWebRequest() + { + if (_webRequest != null) + { + //注意:引擎底层会自动调用Abort方法 + _webRequest.Dispose(); + _webRequest = null; + } + } + + /// + /// 加载加密资源文件 + /// + private AssetBundle LoadEncryptedAssetBundle(byte[] fileData) + { + var fileInfo = new WebDecryptFileInfo(); + fileInfo.BundleName = Bundle.BundleName; + fileInfo.FileLoadCRC = Bundle.UnityCRC; + fileInfo.FileData = fileData; + var decryptResult = _decryptionServices.LoadAssetBundle(fileInfo); + return decryptResult.Result; + } + } +} \ No newline at end of file diff --git a/Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadWebEncryptAssetBundleOperation.cs.meta b/Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadWebEncryptAssetBundleOperation.cs.meta new file mode 100644 index 00000000..7615ae03 --- /dev/null +++ b/Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadWebEncryptAssetBundleOperation.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2f88823353464474faf7b020a76f9b2d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadHandlerAssetBundleOperation.cs b/Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadWebNormalAssetBundleOperation.cs similarity index 90% rename from Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadHandlerAssetBundleOperation.cs rename to Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadWebNormalAssetBundleOperation.cs index 4ffda656..844e1cab 100644 --- a/Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadHandlerAssetBundleOperation.cs +++ b/Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadWebNormalAssetBundleOperation.cs @@ -3,16 +3,13 @@ using UnityEngine.Networking; namespace YooAsset { - internal class DownloadHandlerAssetBundleOperation : DefaultDownloadFileOperation + internal class DownloadWebNormalAssetBundleOperation : DownloadAssetBundleOperation { private readonly bool _disableUnityWebCache; private DownloadHandlerAssetBundle _downloadhandler; private ESteps _steps = ESteps.None; - public AssetBundle Result { private set; get; } - - - internal DownloadHandlerAssetBundleOperation(bool disableUnityWebCache, PackageBundle bundle, DownloadParam param) : base(bundle, param) + internal DownloadWebNormalAssetBundleOperation(bool disableUnityWebCache, PackageBundle bundle, DownloadParam param) : base(bundle, param) { _disableUnityWebCache = disableUnityWebCache; } @@ -55,12 +52,12 @@ namespace YooAsset // 检查网络错误 if (CheckRequestResult()) { - var assetBundle = _downloadhandler.assetBundle; + AssetBundle assetBundle = _downloadhandler.assetBundle; if (assetBundle == null) { _steps = ESteps.Done; - Error = "Download handler asset bundle object is null !"; Status = EOperationStatus.Failed; + Error = "Download handler asset bundle object is null !"; } else { @@ -106,7 +103,7 @@ namespace YooAsset private void CreateWebRequest() { - _downloadhandler = CreateDownloadHandler(); + _downloadhandler = CreateWebDownloadHandler(); _webRequest = DownloadSystemHelper.NewUnityWebRequestGet(_requestURL); _webRequest.downloadHandler = _downloadhandler; _webRequest.disposeDownloadHandlerOnDispose = true; @@ -121,7 +118,7 @@ namespace YooAsset _webRequest = null; } } - private DownloadHandlerAssetBundle CreateDownloadHandler() + private DownloadHandlerAssetBundle CreateWebDownloadHandler() { if (_disableUnityWebCache) { diff --git a/Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadHandlerAssetBundleOperation.cs.meta b/Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadWebNormalAssetBundleOperation.cs.meta similarity index 100% rename from Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadHandlerAssetBundleOperation.cs.meta rename to Assets/YooAsset/Runtime/FileSystem/Operation/Internal/DownloadWebNormalAssetBundleOperation.cs.meta diff --git a/Assets/YooAsset/Runtime/Services/IWebDecryptionServices.cs b/Assets/YooAsset/Runtime/Services/IWebDecryptionServices.cs index 84439dab31d026cb896397fdc7931ae0f12e5efa..99e7cd636f004d0f4a72a06f3644bde0115c861d 100644 GIT binary patch literal 1438 zcmb_c!Ab&A6g`_Zfy?%?4Owm^PQRZP6yi zapEPu{>)Bn12pLE6Q|2Jk8cWBc;GtZS)cnb!F)`fieF`Q8N)@J$R2l+LyspO{}t-= zaZ%#a<7rIW5GS;3^Q6ppx5Spn8Y_*gPxl~8p+NMA8FrYRpdF-q7p+ULlVGEkyZDOD z2#Zz)A}@n#W2tL@#H<1|6IPX34X4%5j=W4<&3)dxt((tgK6pMN;p_v81cK@n9H zGi$LL%P3Ko^ilWhl>KUu=``ZHIllPcmAW$;b^XB0uG}g;bEz1)9}cb!MkVqI`I~al z>KLY~Y3qHK!mErTy=@cO(=eONdwxY`BylnL{GfCG>Zi>{t z#~ZIFOW8UdT2xrTX(qOVWTr?=6WLxx+oUn`RnXeCv&&nv(Yn{ON-_WR^xCm1XNZ4g CXwuC9 delta 186 zcmbQoy^ncc3fUKLW%c^Xa1T++6 jWHdu8(26vmCXhp17!rY^i42-hXD9&WK(H3