using System; namespace YooAsset { /// /// 下载后台接口 /// internal interface IDownloadBackend : IDisposable { /// /// 后台名称(用于日志与调试) /// string Name { get; } /// /// 驱动更新 /// /// /// 部分第三方网络库需要在 Unity 主线程中周期性调用 Update 进行驱动。 /// 不需要驱动的后台可实现为空方法。 /// void Update(); /// /// 创建 HEAD 请求 /// /// /// 仅获取响应头信息,不下载实际内容。 /// 用于检查资源是否存在、获取资源大小、检查缓存有效性等场景。 /// /// 数据请求参数 /// HEAD 请求实例 IDownloadHeadRequest CreateHeadRequest(DownloadDataRequestArgs args); /// /// 创建文件下载请求 /// /// 文件下载参数 /// 文件下载请求实例 IDownloadFileRequest CreateFileRequest(DownloadFileRequestArgs args); /// /// 创建内存下载请求(字节数组) /// /// 数据下载参数 /// 字节下载请求实例 IDownloadBytesRequest CreateBytesRequest(DownloadDataRequestArgs args); /// /// 创建文本下载请求 /// /// 数据下载参数 /// 文本下载请求实例 IDownloadTextRequest CreateTextRequest(DownloadDataRequestArgs args); /// /// 创建 AssetBundle 下载请求 /// /// AssetBundle 下载参数 /// AssetBundle 下载请求实例 IDownloadAssetBundleRequest CreateAssetBundleRequest(DownloadAssetBundleRequestArgs args); /// /// 创建模拟下载请求 /// /// /// 用于编辑器模式下模拟下载进度,不进行实际网络请求。 /// 可用于测试下载流程和 UI 展示。 /// /// 模拟下载参数 /// 模拟下载请求实例 IDownloadFileRequest CreateSimulateRequest(DownloadSimulateRequestArgs args); } }