mirror of
https://github.com/tuyoogame/YooAsset.git
synced 2026-05-25 18:20:15 +00:00
Update runtime code
重写了文件解密流程。
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
37
Assets/YooAsset/Runtime/Services/IEncryptionServices.cs
Normal file
37
Assets/YooAsset/Runtime/Services/IEncryptionServices.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
11
Assets/YooAsset/Runtime/Services/IEncryptionServices.cs.meta
Normal file
11
Assets/YooAsset/Runtime/Services/IEncryptionServices.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 04491137351983348959c00ec4ee226a
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user