Update runtime code

重写了文件解密流程。
This commit is contained in:
hevinci
2022-11-02 21:54:44 +08:00
parent 3e4761a60f
commit e8e69a2e86
12 changed files with 302 additions and 108 deletions

View File

@@ -1,17 +1,42 @@

namespace YooAsset
{
public struct DecryptionFileInfo
public struct DecryptFileInfo
{
/// <summary>
/// 资源包名称
/// </summary>
public string BundleName;
public string FileHash;
/// <summary>
/// 文件路径
/// </summary>
public string FilePath;
}
/// <summary>
/// 解密类服务接口
/// </summary>
public interface IDecryptionServices
{
/// <summary>
/// 获取加密文件的数据偏移量
/// 文件偏移解密方法
/// </summary>
ulong GetFileOffset(DecryptionFileInfo fileInfo);
ulong LoadFromFileOffset(DecryptFileInfo fileInfo);
/// <summary>
/// 文件内存解密方法
/// </summary>
byte[] LoadFromMemory(DecryptFileInfo fileInfo);
/// <summary>
/// 文件流解密方法
/// </summary>
System.IO.FileStream LoadFromStream(DecryptFileInfo fileInfo);
/// <summary>
/// 文件流解密的托管缓存大小
/// </summary>
uint GetManagedReadBufferSize();
}
}

View File

@@ -0,0 +1,37 @@

namespace YooAsset
{
public struct EncryptResult
{
/// <summary>
/// 加密后的Bunlde文件加载方法
/// </summary>
public EBundleLoadMethod LoadMethod;
/// <summary>
/// 加密后的文件数据
/// </summary>
public byte[] EncryptedData;
}
public struct EncryptFileInfo
{
/// <summary>
/// 资源包名称
/// </summary>
public string BundleName;
/// <summary>
/// 文件路径
/// </summary>
public string FilePath;
}
/// <summary>
/// 加密服务类接口
/// </summary>
public interface IEncryptionServices
{
EncryptResult Encrypt(EncryptFileInfo fileInfo);
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 04491137351983348959c00ec4ee226a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: