refactor the runtime code
重构了运行时代码,支持全新的文件系统。
This commit is contained in:
@@ -0,0 +1,153 @@
|
||||
|
||||
namespace YooAsset
|
||||
{
|
||||
internal interface IFileSystem
|
||||
{
|
||||
/// <summary>
|
||||
/// 包裹名称
|
||||
/// </summary>
|
||||
string PackageName { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 文件访问权限
|
||||
/// </summary>
|
||||
EFileAccess FileSystemAccess { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 文件根目录
|
||||
/// </summary>
|
||||
string FileRoot { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 文件数量
|
||||
/// </summary>
|
||||
int FileCount { get; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 初始化缓存系统
|
||||
/// </summary>
|
||||
FSInitializeFileSystemOperation InitializeFileSystemAsync();
|
||||
|
||||
/// <summary>
|
||||
/// 加载包裹清单
|
||||
/// </summary>
|
||||
FSLoadPackageManifestOperation LoadPackageManifestAsync(params object[] args);
|
||||
|
||||
/// <summary>
|
||||
/// 查询最新的版本
|
||||
/// </summary>
|
||||
FSRequestPackageVersionOperation RequestPackageVersionAsync(params object[] args);
|
||||
|
||||
/// <summary>
|
||||
/// 清空所有的文件
|
||||
/// </summary>
|
||||
FSClearAllBundleFilesOperation ClearAllBundleFilesAsync(params object[] args);
|
||||
|
||||
/// <summary>
|
||||
/// 清空未使用的文件
|
||||
/// </summary>
|
||||
FSClearUnusedBundleFilesOperation ClearUnusedBundleFilesAsync(params object[] args);
|
||||
|
||||
/// <summary>
|
||||
/// 下载远端文件
|
||||
/// </summary>
|
||||
FSDownloadFileOperation DownloadFileAsync(params object[] args);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 设置自定义参数
|
||||
/// </summary>
|
||||
void SetParameter(string name, object value);
|
||||
|
||||
/// <summary>
|
||||
/// 创建缓存系统
|
||||
/// </summary>
|
||||
void OnCreate(string packageName, string rootDirectory);
|
||||
|
||||
/// <summary>
|
||||
/// 更新文件系统
|
||||
/// </summary>
|
||||
void OnUpdate();
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 查询文件归属
|
||||
/// </summary>
|
||||
bool Belong(PackageBundle bundle);
|
||||
|
||||
/// <summary>
|
||||
/// 查询文件归属
|
||||
/// </summary>
|
||||
bool Belong(string bundleGUID);
|
||||
|
||||
/// <summary>
|
||||
/// 查询文件是否存在
|
||||
/// </summary>
|
||||
bool Exists(PackageBundle bundle);
|
||||
|
||||
/// <summary>
|
||||
/// 查询文件是否存在
|
||||
/// </summary>
|
||||
bool Exists(string bundleGUID);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 检测是否需要下载
|
||||
/// </summary>
|
||||
bool CheckNeedDownload(PackageBundle bundle);
|
||||
|
||||
/// <summary>
|
||||
/// 检测是否需要解压
|
||||
/// </summary>
|
||||
bool CheckNeedUnpack(PackageBundle bundle);
|
||||
|
||||
/// <summary>
|
||||
/// 检测是否需要导入
|
||||
/// </summary>
|
||||
bool CheckNeedImport(PackageBundle bundle);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 写入文件
|
||||
/// </summary>
|
||||
bool WriteFile(PackageBundle bundle, string copyPath);
|
||||
|
||||
/// <summary>
|
||||
/// 删除文件
|
||||
/// </summary>
|
||||
bool DeleteFile(PackageBundle bundle);
|
||||
|
||||
/// <summary>
|
||||
/// 删除文件
|
||||
/// </summary>
|
||||
bool DeleteFile(string bundleGUID);
|
||||
|
||||
/// <summary>
|
||||
/// 校验文件
|
||||
/// </summary>
|
||||
EFileVerifyResult VerifyFile(PackageBundle bundle);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 读取文件的二进制数据
|
||||
/// </summary>
|
||||
byte[] ReadFileBytes(PackageBundle bundle);
|
||||
|
||||
/// <summary>
|
||||
/// 读取文件的文本数据
|
||||
/// </summary>
|
||||
string ReadFileText(PackageBundle bundle);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 加载Bundle文件
|
||||
/// </summary>
|
||||
FSLoadBundleOperation LoadBundleFile(PackageBundle bundle);
|
||||
|
||||
/// <summary>
|
||||
/// 卸载Bundle文件
|
||||
/// </summary>
|
||||
void UnloadBundleFile(PackageBundle bundle, object result);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 960fb79a45e1fa147943ced59f2fb61c
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user