From 151e978e5b3fb2df20a2ef96c01b6c1c0a96b230 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:29:26 +0800 Subject: [PATCH] update space shoot --- .../FsmNode/FsmInitializePackage.cs | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/PatchLogic/FsmNode/FsmInitializePackage.cs b/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/PatchLogic/FsmNode/FsmInitializePackage.cs index 09c0ce00..92513dd0 100644 --- a/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/PatchLogic/FsmNode/FsmInitializePackage.cs +++ b/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/PatchLogic/FsmNode/FsmInitializePackage.cs @@ -78,7 +78,7 @@ internal class FsmInitializePackage : IStateNode IRemoteServices remoteServices = new RemoteServices(defaultHostServer, fallbackHostServer); createParameters.WebServerFileSystemParameters = WechatFileSystemCreater.CreateWechatFileSystemParameters(packageRoot, remoteServices); #else - createParameters.WebServerFileSystemParameters = FileSystemParameters.CreateDefaultWebServerFileSystemParameters(); + createParameters.WebServerFileSystemParameters = FileSystemParameters.CreateDefaultWebServerFileSystemParameters(new WebDecryption()); #endif initializationOperation = package.InitializeAsync(createParameters); } @@ -149,4 +149,24 @@ internal class FsmInitializePackage : IStateNode return $"{_fallbackHostServer}/{fileName}"; } } + + private class WebDecryption : IWebDecryptionServices + { + public const byte KEY = 64; + + public WebDecryptResult LoadAssetBundle(WebDecryptFileInfo fileInfo) + { + byte[] copyData = new byte[fileInfo.FileData.Length]; + Buffer.BlockCopy(fileInfo.FileData, 0, copyData, 0, fileInfo.FileData.Length); + + for (int i = 0; i < copyData.Length; i++) + { + copyData[i] ^= KEY; + } + + WebDecryptResult decryptResult = new WebDecryptResult(); + decryptResult.Result = AssetBundle.LoadFromMemory(copyData); + return decryptResult; + } + } } \ No newline at end of file