public IEnumerator Download() { // 请求游戏版本 string webURL = _patcher.GetWebServerURL(); string postContent = _patcher.GetWebPostContent(); MotionLog.Log($"Beginning to request from web : {webURL}"); MotionLog.Log($"Web post content : {postContent}"); WebPostRequest download = new WebPostRequest(webURL); download.SendRequest(postContent); yield return(download); // Check fatal if (download.HasError()) { download.ReportError(); download.Dispose(); PatchEventDispatcher.SendGameVersionRequestFailedMsg(); yield break; } string responseContent = download.GetResponse(); MotionLog.Log($"Succeed get response from web : {responseContent}"); download.Dispose(); _patcher.ParseResponseContent(responseContent); _patcher.SwitchNext(); }
public IEnumerator Download() { // 请求游戏版本 string webURL = GameLauncher.GetWebServerURL(); string postContent = GetWebPostContent(); GameLog.Log($"Beginning to request from web : {webURL}"); GameLog.Log($"Post content : {postContent}"); WebPostRequest download = new WebPostRequest(webURL); download.SendRequest(postContent, 30); yield return(download); // Check fatal if (download.HasError()) { download.ReportError(); download.Dispose(); PatchEventDispatcher.SendGameVersionRequestFailedMsg(); yield break; } string responseContent = download.GetResponse(); download.Dispose(); // 解析游戏版本信息 try { GameLog.Log($"Response content : {responseContent}"); WebResponse response = JsonUtility.FromJson <WebResponse>(responseContent); Version gameVersion = new Version(response.GameVersion); int resourceVersion = response.ResourceVersion; bool foundNewApp = response.FoundNewApp; bool forceInstall = response.ForceInstall; string appURL = response.AppURL; PatchUpdater.Instance.GameVersion = gameVersion; PatchUpdater.Instance.ResourceVersion = resourceVersion; if (foundNewApp) { PatchEventDispatcher.SendFoundNewAppMsg(forceInstall, appURL, gameVersion.ToString()); } else { PatchUpdater.Instance.SwitchNext(); } } catch (Exception) { Debug.LogError($"Parse web response failed : {responseContent}"); PatchEventDispatcher.SendGameVersionParseFailedMsg(); } }
public IEnumerator Download() { // 获取最新的游戏版本号 { string url = _patcher.GetWebServerIP(); string post = _patcher.GetWebPostData(); MotionLog.Log($"Beginning to request from web : {url} {post}"); WebPostRequest download = new WebPostRequest(url, post); download.DownLoad(); yield return(download); //Check fatal if (download.HasError()) { download.ReportError(); download.Dispose(); PatchEventDispatcher.SendGameVersionRequestFailedMsg(); yield break; } string response = download.GetResponse(); MotionLog.Log($"Succeed get response from web : {url} {response}"); _patcher.ParseWebResponseData(response); download.Dispose(); } // 检测强更安装包 if (_patcher.ForceInstall) { string requestedGameVersion = _patcher.RequestedGameVersion.ToString(); MotionLog.Log($"Found new APP can be install : {requestedGameVersion}"); PatchEventDispatcher.SendFoundForceInstallAPPMsg(requestedGameVersion, _patcher.AppURL); yield break; } // 检测资源版本是否变化 int newResourceVersion = _patcher.RequestedResourceVersion; int oldResourceVersion = _patcher.LocalResourceVersion; if (newResourceVersion == oldResourceVersion) { MotionLog.Log($"Resource version is not change."); _patcher.Switch(EPatchStates.DownloadOver.ToString()); } else { MotionLog.Log($"Resource version is change : {oldResourceVersion} -> {newResourceVersion}"); _patcher.SwitchNext(); } }