Example #1
0
    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);
    }
Example #2
0
    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;
        }
    }
Example #3
0
    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);
        }
    }
Example #4
0
    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;
        }
    }