public Leaderboard GetLeaderboardDocumentFromRaw(string raw, string gameMode) { JObject jResponse = JsonConvert.DeserializeObject <JObject>(raw); JArray players = JArray.FromObject(jResponse[LeaderboardPlayersJsonPath]); Leaderboard document = new Leaderboard(); foreach (JToken player in players) { LeaderboardPlayer leaderboardPlayer = player.ToObject <LeaderboardPlayer>(); document.Players.Add(leaderboardPlayer); document.Mode = gameMode; } return(document); }
public void UpdateLeaderboardEntry(int rankNumber, LeaderboardPlayer leaderboardPlayer) { if (rankNumber <= 3) { crownIcon.gameObject.SetActive(true); crownIcon.sprite = crownSprites[rankNumber - 1]; } else { crownIcon.gameObject.SetActive(false); } rankNumberText.text = rankNumber.ToString(); scoreText.text = leaderboardPlayer.playerScore.ToString(); playerNameText.text = leaderboardPlayer.playerName; }
public async Task <PlayerLifetimeStats> GetPlayerLifetimeStatsAsync(LeaderboardPlayer player, CancellationToken cancellationToken) { try { HttpResponseMessage apiResponse = await CallGovernor.Call(async() => { return(await _httpClient.GetAsync($"https://api.pubg.com/shards/steam/players/{player.Id}/seasons/lifetime", cancellationToken)); }, cancellationToken); string raw = await apiResponse.Content.ReadAsStringAsync(); PlayerLifetimeStats playerLifetimeStats = _documentExtractorService.GetPlayerLifetimeStatsDocumentFromRaw(raw, player.Id, player.Attributes.Name); return(playerLifetimeStats); } catch (Exception ex) { Log.Error("Error getting data from API", ex); throw; } }
public void UpdateScore() { if (leaderboard == null) { leaderboard = new Dictionary <int, LeaderboardPlayer>(); } foreach (PlayerManager player in GameManager.players.Values) { if (!leaderboard.ContainsKey(player.id)) { LeaderboardPlayer temp = Instantiate(playerleaderboardPrefab, panel).GetComponent <LeaderboardPlayer>(); leaderboard.Add(player.id, temp); } if (leaderboard.ContainsKey(player.id)) { leaderboard[player.id].UpdateScore(player); } } }
public void SavePlayer(LeaderboardPlayer leaderboardPlayer) { // save leaderboard to persistant store }
public void SetLeaderboardEntry(LeaderboardPlayer entry) { _boardEntry = entry; }