Files
YooAssetScene/Assets/YooAsset/Runtime/FileSystem/Interface/IFileSystem.cs
何冠峰 ff02da5c54 refactor the runtime code
重构了运行时代码,支持全新的文件系统。
2024-07-04 20:36:26 +08:00

153 lines
3.8 KiB
C#

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);
}
}