From 1ab0f447d266f04a0d8f849ffe0193813a62aadb Mon Sep 17 00:00:00 2001 From: hevinci Date: Tue, 28 Jun 2022 20:20:36 +0800 Subject: [PATCH] Update document --- Docs/CodeTutorial2.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/Docs/CodeTutorial2.md b/Docs/CodeTutorial2.md index 91d3d08..f9b440e 100644 --- a/Docs/CodeTutorial2.md +++ b/Docs/CodeTutorial2.md @@ -107,5 +107,38 @@ IEnumerator Download() } ```` +**弱联网更新解决方案** + +对于偏单机但是也有资源热更需求的项目。当玩家本地网络很弱的时候,我们又不希望玩家卡在资源更新步骤而不能正常游戏。所以当联网获取最新资源版本失败之后,我们可以跳过该步骤。 + +````c# +// 检测本地网络状态 +if (CheckNetworkWeaklyStatus()) +{ + // 注意:如果从来没有保存过版本信息,则需要从内部读取StaticVersion.bytes文件的版本信息。 + int staticVersion = PlayerPrefs.GetInt("STATIC_VERSION", -1); + if(staticVersion == -1) + { + staticVersion = LoadFromStreamingAssets(); + PlayerPrefs.SetInt("STATIC_VERSION", staticVersion); + } + + // 在弱联网情况下更新补丁清单 + int resourceVersion = PlayerPrefs.GetInt("STATIC_VERSION", -1); + UpdateManifestOperation operation = YooAssets.WeaklyUpdateManifestAsync(resourceVersion); + yield return operation; + + if(operation.Status == EOperationStatus.Succeed) + { + StartGame(); + } + else + { + // 指定版本的资源内容本地并不完整,需要提示玩家更新。 + ShowMessageBox("请检查本地网络,有新的游戏内容需要更新!"); + } +} +```` +