YooAsset/Docs/CodeTutorial2.md

82 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 资源更新
**更新补丁清单**
对于联机运行模式,在初始化资源系统之后,需要立刻更新资源清单。
**注意**:在初始化资源系统的时候,可以选择是否忽略资源版本号,这会影响到我们的更新步骤。
- 没有忽略资源版本号在更新之前先获取更新的资源版本号一般通过HTTP访问游戏服务器来获取。
- 忽略资源版本号在更新的时候资源版本号可以设置为0。
````c#
private IEnumerator UpdatePatchManifest()
{
UpdateManifestOperation operation = YooAssets.UpdateManifestAsync(updateResourceVersion);
yield return operation;
if (operation.Status == EOperationStatus.Succeed)
{
//更新成功
}
else
{
//更新失败
Debug.LogError(operation.Error);
}
}
````
**补丁包下载**
在补丁清单更新完毕后,就可以更新资源文件了。
根据产品需求,可以选择更新全部资源,或者只更新部分资源。
补丁包下载接口:
- YooAssets.CreatePatchDownloader(string[] tags) 根据资源标签列表下载相关资源包文件
- YooAssets.CreateBundleDownloader(string[] locations) 根据资源对象列表下载相关资源包文件
````c#
IEnumerator Download()
{
string[] tags = { "buildin", "config" };
int downloadingMaxNum = 10;
int failedTryAgain = 3;
DownloaderOperation downloader = YooAssets.CreatePatchDownloader(tags, downloadingMaxNum, failedTryAgain);
//没有需要下载的资源
if (downloader.TotalDownloadCount == 0)
{
yield break;
}
//需要下载的文件总数和总大小
int totalDownloadCount = downloader.TotalDownloadCount;
long totalDownloadBytes = downloader.TotalDownloadBytes;
//注册回调方法
downloader.OnDownloadFileFailedCallback = OneDownloadFileFailed;
downloader.OnDownloadProgressCallback = OnDownloadProgressUpdate;
downloader.OnDownloadOverCallback = OnDownloadOver;
//开启下载
downloader.BeginDownload();
yield return downloader;
//检测下载结果
if (downloader.Status == EOperationStatus.Succeed)
{
//下载成功
}
else
{
//下载失败
}
}
````