public void UpdateScore(int score) { //Verifica se o usuário está logado no PlayFab, pois só é possível alterar o score caso ele esteja logado. if (FacebookAndPlayFabInfo.isLoggedOnPlayFab) { //Usado para passar o valor para o PlayFab. O nome do campo Score deve ser identico ao usado no Leadeboard //no site do PlayFab. Caso quisesssem armazenar o nome do jogador poderiam criar um Dictionary<string, string> if (stats == null) { stats = new StatisticUpdate(); stats.StatisticName = "Score"; stats.Value = score; } else { stats.Value = stats.Value + score; } //Ao adicionar o valor para o servidor sempre é preciso definir uma chave ( nesse caso "Score") para identificar //o que é o dado que você está passando e o outro parâmetro é o valor. statsList.Add(stats); //Configura a chamada para atualizar o score no servidor. PlayFab.ClientModels.UpdatePlayerStatisticsRequest request = new PlayFab.ClientModels.UpdatePlayerStatisticsRequest(); request.Statistics = statsList; //Utiliza o SDK do PlayFab para atualizar os dados. Informando a chamada e a função de callback de sucesso e erro. PlayFabClientAPI.UpdatePlayerStatistics(request, UpdateUserStatisticsSucessCallback, PlayFabErrorCallBack); } else { Debug.Log("Não é possível alterar o Score sem estar logado."); } }
/// <summary> /// Updates the values of the specified title-specific statistics for the user. By default, clients are not permitted to update statistics. Developers may override this setting in the Game Manager > Settings > API Features. /// </summary> public static void UpdatePlayerStatistics(UpdatePlayerStatisticsRequest request, ProcessApiCallback<UpdatePlayerStatisticsResult> resultCallback, ErrorCallback errorCallback, object customData = null) { if (_authKey == null) throw new Exception("Must be logged in to call this method"); string serializedJson = SimpleJson.SerializeObject(request, Util.ApiSerializerStrategy); Action<CallRequestContainer> callback = delegate(CallRequestContainer requestContainer) { ResultContainer<UpdatePlayerStatisticsResult>.HandleResults(requestContainer, resultCallback, errorCallback, null); }; PlayFabHTTP.Post("/Client/UpdatePlayerStatistics", serializedJson, "X-Authorization", _authKey, callback, request, customData); }