コード例 #1
0
    private IEnumerator PostResult(PlayerResultModel result, Action onOk, Action onFail)
    {
        var json = JsonUtility.ToJson(result);

        Debug.Log(json);
        byte[]          bJson = Encoding.UTF8.GetBytes(json);
        UnityWebRequest www   = UnityWebRequest.Post(string.Format("{0}:{1}/api/leaderboard", _serverPath, _port), string.Empty);

        www.uploadHandler = new UploadHandlerRaw(bJson);
        www.SetRequestHeader("Content-Type", "application/json");
        yield return(www.SendWebRequest());

        if (www.isNetworkError || www.responseCode != 200)
        {
            StartCoroutine(ShowError(www.error));
            onFail();
        }
        else
        {
            Debug.Log(www.responseCode);
            onOk();
        }

        _postResultsCoroutine = null;
    }
コード例 #2
0
 public void PostResults(PlayerResultModel result, Action onOk, Action onFail)
 {
     if (_postResultsCoroutine == null)
     {
         _postResultsCoroutine = StartCoroutine(PostResult(result, onOk, onFail));
     }
 }
コード例 #3
0
    private void PostResults()
    {
        var               endTime        = DateTime.UtcNow;
        var               resultDateTime = endTime - _startTime;
        float             resultTime     = (float)resultDateTime.TotalSeconds;
        PlayerResultModel result         = new PlayerResultModel(id.ToString(), _wins, resultTime);

        _leaderboardController.PostResults(result, PostOK, PostFail);
    }
コード例 #4
0
        public IActionResult Post([FromBody] PlayerResultModel newResult)
        {
            if (newResult == null)
            {
                return(NotFound());
            }

            _leaderboard.AddResult(newResult);
            return(Ok());
        }
コード例 #5
0
 public static void SavePlayerResult(PlayerResultModel playerResult)
 {
     using (var writer = new StreamWriter(LeaderboardFilePath, true))
     {
         var writeString = $"{playerResult.Name};{playerResult.TimeResult};{playerResult.Score};{playerResult.MaxScore};{playerResult.TimeStart}";
         for (int i = 1; i <= ApplicationViewModel.Instance.StatisticsManager.NumberOfItems; i++)
         {
             var clickedCount     = ApplicationViewModel.Instance.StatisticsManager.SoundStatistics[i].ClickedCount;
             var isCorrectZeroOne = Convert.ToInt32(ApplicationViewModel.Instance.StatisticsManager.ImageStatistics[i].IsCorrect);
             writeString += $";{clickedCount};{isCorrectZeroOne}";
         }
         writer.WriteLine(writeString);
     }
 }