public void SetText(LeaderboardMeta entry, bool setIndex = false) { if (entry.Score == -1) { alias.text = "-"; meta.text = "-"; } else { alias.text = $"{entry.Alias} - {entry.Score:N0}"; meta.text = $"Time: {entry.Time} - Tries: {entry.Tries}"; } if (setIndex) { if (entry.Index == 0) { index.text = "-"; } else { index.text = $"# {entry.Index}."; } } }
public void PostScore(LeaderboardMeta data, string level) { var entry = new LeaderboardEntry() { Key = data.Alias, Metadata = JsonConvert.SerializeObject(data) }; PostEntry(entry, data.Score, level); }
public void LoadLeaderboard(string levelName) { selectPanel.SetActive(false); loadingPanel.SetActive(true); leadButtons.SetActive(false); StartCoroutine(Work()); IEnumerator Work() { yield return(new WaitForSeconds(0.2f)); LeaderboardController.Instance.FetchLeaderboard(levelName).Then(response => { var entries = JsonConvert.DeserializeObject <LeaderboardEntry[]>(response.Text); var index = 0; var perso = FindPersonalBest(entries); foreach (var btn in btnList) { if (index >= entries.Length) { var meta = new LeaderboardMeta() { Alias = "-", FanUsed = -1, Score = -1, Time = "-", TotalFan = -1, Tries = -1 }; btn.SetText(meta); } else { var meta = JsonConvert.DeserializeObject <LeaderboardMeta>(entries[index++].Metadata); btn.SetText(meta); } } if (perso != null) { personalBest.SetText(perso, true); } else { var meta = new LeaderboardMeta() { Alias = "-", FanUsed = -1, Score = -1, Time = "-", TotalFan = -1, Tries = -1 }; personalBest.SetText(meta, true); } leadButtons.SetActive(true); loadingPanel.SetActive(false); }); } }
public void SendLeaderboard() { var meta = new LeaderboardMeta() { Alias = PlayerPrefs.GetString("player_alias", "##UNDEFINED"), Time = currentTime.ToString("N3"), Tries = level.tries, FanUsed = level.fans.Count, TotalFan = level.availableFans, Score = CalculateScore() }; var boardName = level.levelName.Replace(" ", string.Empty).ToLower(); LeaderboardController.Instance.PostScore(meta, boardName); }