【m】框架大更新

This commit is contained in:
2025-10-31 11:18:23 +08:00
parent ae6e7c804b
commit 8e1d52ddbf
1883 changed files with 213934 additions and 640 deletions
@@ -0,0 +1,30 @@
namespace YooAsset
{
public struct LocalFileInfo
{
/// <summary>
/// 包裹名称
/// </summary>
public string PackageName;
/// <summary>
/// 资源包名称
/// </summary>
public string BundleName;
/// <summary>
/// 源文件请求地址
/// </summary>
public string SourceFileURL;
}
/// <summary>
/// 本地文件拷贝服务类
/// 备注:包体内文件拷贝,沙盒内文件导入都会触发该服务!
/// </summary>
public interface ICopyLocalFileServices
{
void CopyFile(LocalFileInfo sourceFileInfo, string destFilePath);
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 93434b201020a1249871c0c20215e0e9
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,72 @@
using System.IO;
using UnityEngine;
namespace YooAsset
{
public struct DecryptFileInfo
{
/// <summary>
/// 资源包名称
/// </summary>
public string BundleName;
/// <summary>
/// 文件加载路径
/// </summary>
public string FileLoadPath;
/// <summary>
/// Unity引擎用于内容校验的CRC
/// </summary>
public uint FileLoadCRC;
}
public struct DecryptResult
{
/// <summary>
/// 资源包对象
/// </summary>
public AssetBundle Result;
/// <summary>
/// 异步请求句柄
/// </summary>
public AssetBundleCreateRequest CreateRequest;
/// <summary>
/// 托管流对象
/// 注意:流对象在资源包对象释放的时候会自动释放
/// </summary>
public Stream ManagedStream;
}
public interface IDecryptionServices
{
/// <summary>
/// 同步方式获取解密的资源包
/// </summary>
DecryptResult LoadAssetBundle(DecryptFileInfo fileInfo);
/// <summary>
/// 异步方式获取解密的资源包
/// </summary>
DecryptResult LoadAssetBundleAsync(DecryptFileInfo fileInfo);
/// <summary>
/// 后备方式获取解密的资源包
/// 注意:当正常解密方法失败后,会触发后备加载!
/// 说明:建议通过LoadFromMemory()方法加载资源包作为保底机制。
/// issues : https://github.com/tuyoogame/YooAsset/issues/562
/// </summary>
DecryptResult LoadAssetBundleFallback(DecryptFileInfo fileInfo);
/// <summary>
/// 获取解密的字节数据
/// </summary>
byte[] ReadFileData(DecryptFileInfo fileInfo);
/// <summary>
/// 获取解密的文本数据
/// </summary>
string ReadFileText(DecryptFileInfo fileInfo);
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: fdac9490090e90f41b232d71ad3a338f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,33 @@
namespace YooAsset
{
public struct EncryptFileInfo
{
/// <summary>
/// 资源包名称
/// </summary>
public string BundleName;
/// <summary>
/// 文件路径
/// </summary>
public string FileLoadPath;
}
public struct EncryptResult
{
/// <summary>
/// 文件是否加密
/// </summary>
public bool Encrypted;
/// <summary>
/// 加密后的文件数据
/// </summary>
public byte[] EncryptedData;
}
public interface IEncryptionServices
{
EncryptResult Encrypt(EncryptFileInfo fileInfo);
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 7f8148b5034a2f240a0600ad4aaf6a90
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,14 @@
namespace YooAsset
{
/// <summary>
/// 资源清单文件处理服务接口
/// </summary>
public interface IManifestProcessServices
{
/// <summary>
/// 处理资源清单(压缩或加密)
/// </summary>
byte[] ProcessManifest(byte[] fileData);
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 2dc7f5accc1c19d40b023fa03bdc17be
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,14 @@
namespace YooAsset
{
/// <summary>
/// 资源清单文件处理服务接口
/// </summary>
public interface IManifestRestoreServices
{
/// <summary>
/// 还原资源清单(解压或解密)
/// </summary>
byte[] RestoreManifest(byte[] fileData);
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 08b8032efd949b243b7a4250b4cc148e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,18 @@
namespace YooAsset
{
public interface IRemoteServices
{
/// <summary>
/// 获取主资源站的资源地址
/// </summary>
/// <param name="fileName">请求的文件名称</param>
string GetRemoteMainURL(string fileName);
/// <summary>
/// 获取备用资源站的资源地址
/// </summary>
/// <param name="fileName">请求的文件名称</param>
string GetRemoteFallbackURL(string fileName);
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 4332727a0fe2c2a44925f4d3617b74a6
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: e22c99ab8a2469840a246d96d6c6ae4b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: