Assetbundle加载增加解密方法

This commit is contained in:
unknown
2024-07-27 15:25:21 +08:00
parent 6680a6450b
commit ddce031ee5
6 changed files with 169 additions and 34 deletions

View File

@@ -55,6 +55,15 @@ namespace YooAsset
/// </summary>
public class FileSystemParameters
{
public const string FILE_VERIFY_LEVEL = "FILE_VERIFY_LEVEL";
public const string DECRYPTION_SERVICES = "DECRYPTION_SERVICES";
public const string APPEND_FILE_EXTENSION = "APPEND_FILE_EXTENSION";
public const string RAW_FILE_BUILD_PIPELINE = "RAW_FILE_BUILD_PIPELINE";
public const string REMOTE_SERVICES = "REMOTE_SERVICES";
public const string DISABLE_UNITY_WEB_CACHE = "DISABLE_UNITY_WEB_CACHE";
public const string RESUME_DOWNLOAD_MINMUM_SIZE = "RESUME_DOWNLOAD_MINMUM_SIZE";
public const string RESUME_DOWNLOAD_RESPONSE_CODES = "RESUME_DOWNLOAD_RESPONSE_CODES";
internal Dictionary<string, object> CreateParameters = new Dictionary<string, object>();
/// <summary>
@@ -101,11 +110,12 @@ namespace YooAsset
/// </summary>
/// <param name="verifyLevel">缓存文件的校验等级</param>
/// <param name="rootDirectory">内置文件的根路径</param>
public static FileSystemParameters CreateDefaultBuildinFileSystemParameters(EFileVerifyLevel verifyLevel = EFileVerifyLevel.Middle, string rootDirectory = null)
public static FileSystemParameters CreateDefaultBuildinFileSystemParameters(IDecryptionServices decryptionServices = null, EFileVerifyLevel verifyLevel = EFileVerifyLevel.Middle, string rootDirectory = null)
{
string fileSystemClass = typeof(DefaultBuildinFileSystem).FullName;
var fileSystemParams = new FileSystemParameters(fileSystemClass, rootDirectory);
fileSystemParams.AddParameter("FILE_VERIFY_LEVEL", verifyLevel);
fileSystemParams.AddParameter(FILE_VERIFY_LEVEL, verifyLevel);
fileSystemParams.AddParameter(DECRYPTION_SERVICES, decryptionServices);
return fileSystemParams;
}
@@ -118,9 +128,9 @@ namespace YooAsset
{
string fileSystemClass = typeof(DefaultBuildinFileSystem).FullName;
var fileSystemParams = new FileSystemParameters(fileSystemClass, rootDirectory);
fileSystemParams.AddParameter("FILE_VERIFY_LEVEL", verifyLevel);
fileSystemParams.AddParameter("APPEND_FILE_EXTENSION", true);
fileSystemParams.AddParameter("RAW_FILE_BUILD_PIPELINE", true);
fileSystemParams.AddParameter(FILE_VERIFY_LEVEL, verifyLevel);
fileSystemParams.AddParameter(APPEND_FILE_EXTENSION, true);
fileSystemParams.AddParameter(RAW_FILE_BUILD_PIPELINE, true);
return fileSystemParams;
}
@@ -130,12 +140,13 @@ namespace YooAsset
/// <param name="remoteServices">远端资源地址查询服务类</param>
/// <param name="verifyLevel">缓存文件的校验等级</param>
/// <param name="rootDirectory">文件系统的根目录</param>
public static FileSystemParameters CreateDefaultCacheFileSystemParameters(IRemoteServices remoteServices, EFileVerifyLevel verifyLevel = EFileVerifyLevel.Middle, string rootDirectory = null)
public static FileSystemParameters CreateDefaultCacheFileSystemParameters(IRemoteServices remoteServices, IDecryptionServices decryptionServices = null, EFileVerifyLevel verifyLevel = EFileVerifyLevel.Middle, string rootDirectory = null)
{
string fileSystemClass = typeof(DefaultCacheFileSystem).FullName;
var fileSystemParams = new FileSystemParameters(fileSystemClass, rootDirectory);
fileSystemParams.AddParameter("REMOTE_SERVICES", remoteServices);
fileSystemParams.AddParameter("FILE_VERIFY_LEVEL", verifyLevel);
fileSystemParams.AddParameter(REMOTE_SERVICES, remoteServices);
fileSystemParams.AddParameter(FILE_VERIFY_LEVEL, verifyLevel);
fileSystemParams.AddParameter(DECRYPTION_SERVICES, decryptionServices);
return fileSystemParams;
}
@@ -149,10 +160,10 @@ namespace YooAsset
{
string fileSystemClass = typeof(DefaultCacheFileSystem).FullName;
var fileSystemParams = new FileSystemParameters(fileSystemClass, rootDirectory);
fileSystemParams.AddParameter("REMOTE_SERVICES", remoteServices);
fileSystemParams.AddParameter("FILE_VERIFY_LEVEL", verifyLevel);
fileSystemParams.AddParameter("APPEND_FILE_EXTENSION", true);
fileSystemParams.AddParameter("RAW_FILE_BUILD_PIPELINE", true);
fileSystemParams.AddParameter(REMOTE_SERVICES, remoteServices);
fileSystemParams.AddParameter(FILE_VERIFY_LEVEL, verifyLevel);
fileSystemParams.AddParameter(APPEND_FILE_EXTENSION, true);
fileSystemParams.AddParameter(RAW_FILE_BUILD_PIPELINE, true);
return fileSystemParams;
}
@@ -164,7 +175,7 @@ namespace YooAsset
{
string fileSystemClass = typeof(DefaultWebFileSystem).FullName;
var fileSystemParams = new FileSystemParameters(fileSystemClass, null);
fileSystemParams.AddParameter("DISABLE_UNITY_WEB_CACHE", disableUnityWebCache);
fileSystemParams.AddParameter(DISABLE_UNITY_WEB_CACHE, disableUnityWebCache);
return fileSystemParams;
}
}