From a4c7d4b8f5d5d4f50c8f88267c9859ab334c668d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E5=86=A0=E5=B3=B0?= Date: Wed, 23 Jul 2025 15:41:57 +0800 Subject: [PATCH] =?UTF-8?q?test=20:=20=E4=BF=AE=E6=94=B9=E8=B5=84=E6=BA=90?= =?UTF-8?q?=E6=B8=85=E5=8D=95=E5=8A=A0=E5=AF=86=E8=A7=A3=E5=AF=86=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Test Sample/Editor/TestPackageBuilder.cs | 6 +++-- ...essManifest.cs => TestManifestServices.cs} | 27 ++++++++++++------- ...t.cs.meta => TestManifestServices.cs.meta} | 0 .../T2_TestBuldinFileSystem.cs | 4 +-- .../T3_TestCacheFileSystem.cs | 4 +-- 5 files changed, 25 insertions(+), 16 deletions(-) rename Assets/YooAsset/Samples~/Test Sample/Runtime/CryptoSample/{TestProcessManifest.cs => TestManifestServices.cs} (68%) rename Assets/YooAsset/Samples~/Test Sample/Runtime/CryptoSample/{TestProcessManifest.cs.meta => TestManifestServices.cs.meta} (100%) diff --git a/Assets/YooAsset/Samples~/Test Sample/Editor/TestPackageBuilder.cs b/Assets/YooAsset/Samples~/Test Sample/Editor/TestPackageBuilder.cs index 586f376c..676ed303 100644 --- a/Assets/YooAsset/Samples~/Test Sample/Editor/TestPackageBuilder.cs +++ b/Assets/YooAsset/Samples~/Test Sample/Editor/TestPackageBuilder.cs @@ -72,7 +72,8 @@ public static class TestPackageBuilder buildParameters.UseAssetDependencyDB = true; buildParameters.BuiltinShadersBundleName = builtinShaderBundleName; buildParameters.EncryptionServices = new TestFileStreamEncryption(); - buildParameters.ManifestServices = new TestProcessManifest(); + buildParameters.ManifestProcessServices = new TestProcessManifest(); + buildParameters.ManifestRestoreServices = new TestRestoreManifest(); var pipeline = new ScriptableBuildPipeline(); BuildResult buildResult = pipeline.Run(buildParameters, false); @@ -110,7 +111,8 @@ public static class TestPackageBuilder buildParameters.ClearBuildCacheFiles = true; buildParameters.UseAssetDependencyDB = true; buildParameters.EncryptionServices = new TestFileStreamEncryption(); - buildParameters.ManifestServices = new TestProcessManifest(); + buildParameters.ManifestProcessServices = new TestProcessManifest(); + buildParameters.ManifestRestoreServices = new TestRestoreManifest(); var pipeline = new BuiltinBuildPipeline(); BuildResult buildResult = pipeline.Run(buildParameters, false); diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/CryptoSample/TestProcessManifest.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/CryptoSample/TestManifestServices.cs similarity index 68% rename from Assets/YooAsset/Samples~/Test Sample/Runtime/CryptoSample/TestProcessManifest.cs rename to Assets/YooAsset/Samples~/Test Sample/Runtime/CryptoSample/TestManifestServices.cs index 44f16ec7..074afd9d 100644 --- a/Assets/YooAsset/Samples~/Test Sample/Runtime/CryptoSample/TestProcessManifest.cs +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/CryptoSample/TestManifestServices.cs @@ -6,24 +6,31 @@ using UnityEngine; using NUnit.Framework; using YooAsset; -public class TestProcessManifest : IManifestServices +public class TestProcessManifest : IManifestProcessServices { - public byte[] ProcessManifest(byte[] fileData) + byte[] IManifestProcessServices.ProcessManifest(byte[] fileData) { - return XorProcess(fileData, "YOO"); - } - public byte[] RestoreManifest(byte[] fileData) - { - return XorProcess(fileData, "YOO"); + return XorCrypto.Crypto(fileData, "YOO"); } +} +public class TestRestoreManifest : IManifestRestoreServices +{ + byte[] IManifestRestoreServices.RestoreManifest(byte[] fileData) + { + return XorCrypto.Crypto(fileData, "YOO"); + } +} + +public class XorCrypto +{ /// /// 使用异或加密/解密字节数组 /// /// 输入数据 /// 加密密钥 /// 处理后的字节数组 - public static byte[] XorProcess(byte[] data, byte[] key) + public static byte[] Crypto(byte[] data, byte[] key) { if (data == null) throw new ArgumentNullException(nameof(data)); @@ -47,9 +54,9 @@ public class TestProcessManifest : IManifestServices /// 输入数据 /// 字符串密钥 /// 处理后的字节数组 - public static byte[] XorProcess(byte[] data, string key) + public static byte[] Crypto(byte[] data, string key) { byte[] keyBytes = System.Text.Encoding.UTF8.GetBytes(key); - return XorProcess(data, keyBytes); + return Crypto(data, keyBytes); } } \ No newline at end of file diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/CryptoSample/TestProcessManifest.cs.meta b/Assets/YooAsset/Samples~/Test Sample/Runtime/CryptoSample/TestManifestServices.cs.meta similarity index 100% rename from Assets/YooAsset/Samples~/Test Sample/Runtime/CryptoSample/TestProcessManifest.cs.meta rename to Assets/YooAsset/Samples~/Test Sample/Runtime/CryptoSample/TestManifestServices.cs.meta diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/T2_TestBuldinFileSystem.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/T2_TestBuldinFileSystem.cs index dfcad1aa..fb0545bd 100644 --- a/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/T2_TestBuldinFileSystem.cs +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/T2_TestBuldinFileSystem/T2_TestBuldinFileSystem.cs @@ -61,10 +61,10 @@ public class T2_TestBuldinFileSystem : IPrebuildSetup, IPostBuildCleanup // 初始化资源包 var initParams = new OfflinePlayModeParameters(); var fileDecryption = new TestFileStreamDecryption(); - var manifestProcess = new TestProcessManifest(); + var manifestServices = new TestRestoreManifest(); initParams.BuildinFileSystemParameters = FileSystemParameters.CreateDefaultBuildinFileSystemParameters(fileDecryption, packageRoot); initParams.BuildinFileSystemParameters.AddParameter(FileSystemParametersDefine.DISABLE_CATALOG_FILE, true); - initParams.BuildinFileSystemParameters.AddParameter(FileSystemParametersDefine.MANIFEST_SERVICES, manifestProcess); + initParams.BuildinFileSystemParameters.AddParameter(FileSystemParametersDefine.MANIFEST_SERVICES, manifestServices); var initializeOp = package.InitializeAsync(initParams); yield return initializeOp; if (initializeOp.Status != EOperationStatus.Succeed) diff --git a/Assets/YooAsset/Samples~/Test Sample/Runtime/T3_TestCacheFileSystem/T3_TestCacheFileSystem.cs b/Assets/YooAsset/Samples~/Test Sample/Runtime/T3_TestCacheFileSystem/T3_TestCacheFileSystem.cs index 437be6f3..1b2bcd9c 100644 --- a/Assets/YooAsset/Samples~/Test Sample/Runtime/T3_TestCacheFileSystem/T3_TestCacheFileSystem.cs +++ b/Assets/YooAsset/Samples~/Test Sample/Runtime/T3_TestCacheFileSystem/T3_TestCacheFileSystem.cs @@ -46,13 +46,13 @@ public class T3_TestCacheFileSystem : IPrebuildSetup, IPostBuildCleanup // 初始化资源包 var initParams = new HostPlayModeParameters(); var fileDecryption = new TestFileStreamDecryption(); - var manifestProcess = new TestProcessManifest(); + var manifestServices = new TestRestoreManifest(); string hostServerIP = "http://127.0.0.1/CDN/Android/Test/"; var remoteServices = new TestRemoteServices(hostServerIP); initParams.BuildinFileSystemParameters = null; initParams.CacheFileSystemParameters = FileSystemParameters.CreateDefaultCacheFileSystemParameters(remoteServices, fileDecryption); - initParams.CacheFileSystemParameters.AddParameter(FileSystemParametersDefine.MANIFEST_SERVICES, manifestProcess); + initParams.CacheFileSystemParameters.AddParameter(FileSystemParametersDefine.MANIFEST_SERVICES, manifestServices); var initializeOp = package.InitializeAsync(initParams); yield return initializeOp; if (initializeOp.Status != EOperationStatus.Succeed)