private void OnCheckVersionMessageResponseAfterUpdateFull(string response) { #if UNITY_EDITOR if (Tracking) { PrintTrack(MethodBase.GetCurrentMethod().Name); PrintTrack("response: " + response); } #endif _checkVersionMessageRef2 = null; if (string.IsNullOrEmpty(response)) { FinishUpdate(false); return; } CheckVersionResponseMessage responseMessage = CheckVersionResponseMessage.FromJson(response); if (responseMessage == null) { FinishUpdate(false); return; } SaveDLCVersionToDevice(responseMessage.DlcVersion); FinishUpdate(true); }
private void OnCheckVersionMessageResponse(string response) { #if UNITY_EDITOR if (Tracking) { PrintTrack(MethodBase.GetCurrentMethod().Name); PrintTrack("response: " + response); } #endif _checkVersionMessageRef = null; if (string.IsNullOrEmpty(response)) { Initialize(); return; } CheckVersionResponseMessage responseMessage = CheckVersionResponseMessage.FromJson(response); if (responseMessage == null) { Initialize(); return; } if (responseMessage.Status != BaseOnline.Success) { Initialize(); return; } VersionNumber currentApiVersionOnDevice = GetCurrentApiVersionOnDevice(); CompareVersionNumber compareResult = (CompareVersionNumber)currentApiVersionOnDevice.CompareTo(responseMessage.ApiVersion); switch (compareResult) { case CompareVersionNumber.MajorGreater: case CompareVersionNumber.MinorGreater: case CompareVersionNumber.PacthGreater: case CompareVersionNumber.Error: Initialize(); break; case CompareVersionNumber.MajorLess: case CompareVersionNumber.MinorLess: case CompareVersionNumber.PatchLess: _updating = false; if (_onNewApiVersion != null) { _onNewApiVersion(currentApiVersionOnDevice, responseMessage.ApiVersion); } break; case CompareVersionNumber.Equal: FinishInit(_currentApiClientId, _currentToken); break; } }
public static CheckVersionResponseMessage FromJson(string jsonString) { CheckVersionResponseMessage result = new CheckVersionResponseMessage(); try { JsonData jsonData = JsonMapper.ToObject(jsonString); result.Status = jsonData["status"].ToString(); result.ApiVersion = VersionNumber.Parse(jsonData["APIVer"].ToString()); result.DlcVersion = VersionNumber.Parse(jsonData["dlc"].ToString()); result.UrlDlcFull = jsonData["dlcFull"].ToString(); return(result); } catch (Exception e) { Debug.LogError(e); return(null); } }
private void OnCheckVersionMessageResponse(string response) { #if UNITY_EDITOR if (Tracking) { PrintTrack(MethodBase.GetCurrentMethod().Name); PrintTrack("response: " + response); } #endif _checkVersionMessageRef = null; if (string.IsNullOrEmpty(response)) { FinishUpdate(false); return; } CheckVersionResponseMessage responseMessage = CheckVersionResponseMessage.FromJson(response); if (responseMessage == null) { FinishUpdate(false); return; } if (!Directory.Exists(_dlcPath)) { UpdateFull(responseMessage.UrlDlcFull); return; } VersionNumber currentDLCVersionOnDevice = GetCurrentDLCVersionOnDevice(); CompareVersionNumber compareResult = (CompareVersionNumber)currentDLCVersionOnDevice.CompareTo(responseMessage.DlcVersion); // If dlc version on client greater than dlc version on server, // it's fatal error, must update full // If major version change, update full // else update version by version switch (compareResult) { case CompareVersionNumber.MajorGreater: case CompareVersionNumber.MinorGreater: case CompareVersionNumber.PacthGreater: case CompareVersionNumber.MajorLess: UpdateFull(responseMessage.UrlDlcFull); break; case CompareVersionNumber.MinorLess: case CompareVersionNumber.PatchLess: UpdateVersionByVersion(); break; case CompareVersionNumber.Error: FinishUpdate(false); break; case CompareVersionNumber.Equal: FinishUpdate(true); break; } }