Exemplo n.º 1
0
    public void UpdateUserChallengeIndex()
    {
        if (!IsEnabled)
        {
            OnUpdateUserChallengeIndexAttemptForRequestComplete?.Invoke(true);

            return;
        }

        StartCoroutine(UpdateChallengeIndexRequest());
    }
Exemplo n.º 2
0
    IEnumerator UpdateChallengeIndexRequest()
    {
        // if (PersistentModel.Instance.RunLocation == PersistentModel.RUN_LOCATION.Cocoa) yield break;

        // reset challenge time
        PersistentModel.Instance.ChallengeTime = 0f;

        string requestUrl = "e=" + WWW.EscapeURL(PersistentModel.Instance.Email);

        //requestUrl += "&index=" + PersistentModel.Instance.ChallengeIndex;
        requestUrl += "&index=" + PersistentModel.Instance.ChallengeCounter;

        UnityWebRequest request = ConnectToServer("UpdateChallengeIndex.php?" + requestUrl);

        yield return(request.SendWebRequest());

        if (request.isNetworkError || request.isHttpError)
        {
            DebugLog.Trace("UnityWebRequest Error: " + request.error);

            // wait a few seconds before retry
            yield return(waitToRefreshServerCall);

            UpdateChallengeIndexRequest();
        }
        else
        {
            ServerData[] resultData = JsonHelper.FromJsonWrapped <ServerData>(request.downloadHandler.text);

            if (resultData[0].success)
            {
                DebugLog.Trace("UpdateUserChallengeIndex().success");
            }
            else
            {
                DebugLog.Trace("UpdateUserChallengeIndex().error");
            }

            OnUpdateUserChallengeIndexAttemptForRequestComplete?.Invoke(resultData[0].success);
        }
    }