namespace YooAsset
{
internal interface IPlayMode
{
///
/// 当前激活的清单
///
PackageManifest ActiveManifest { set; get; }
///
/// 更新游戏模式
///
void UpdatePlayMode();
///
/// 向网络端请求最新的资源版本
///
RequestPackageVersionOperation RequestPackageVersionAsync(bool appendTimeTicks, int timeout);
///
/// 向网络端请求并更新清单
///
UpdatePackageManifestOperation UpdatePackageManifestAsync(string packageVersion, int timeout);
///
/// 预下载指定版本的包裹内容
///
PreDownloadContentOperation PreDownloadContentAsync(string packageVersion, int timeout);
///
/// 清空所有文件
///
ClearAllBundleFilesOperation ClearAllBundleFilesAsync();
///
/// 清空未使用的文件
///
ClearUnusedBundleFilesOperation ClearUnusedBundleFilesAsync();
// 下载相关
ResourceDownloaderOperation CreateResourceDownloaderByAll(int downloadingMaxNumber, int failedTryAgain, int timeout);
ResourceDownloaderOperation CreateResourceDownloaderByTags(string[] tags, int downloadingMaxNumber, int failedTryAgain, int timeout);
ResourceDownloaderOperation CreateResourceDownloaderByPaths(AssetInfo[] assetInfos, int downloadingMaxNumber, int failedTryAgain, int timeout);
// 解压相关
ResourceUnpackerOperation CreateResourceUnpackerByAll(int upackingMaxNumber, int failedTryAgain, int timeout);
ResourceUnpackerOperation CreateResourceUnpackerByTags(string[] tags, int upackingMaxNumber, int failedTryAgain, int timeout);
// 导入相关
ResourceImporterOperation CreateResourceImporterByFilePaths(string[] filePaths, int importerMaxNumber, int failedTryAgain, int timeout);
}
}