using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; public class Leaderboard : MonoBehaviour { public Transform leaderboardItemsParent; public GameObject leaderboardItemPrefab; public void PopulateLeaderboard(){ for(int i=0; i < leaderboardItemsParent.childCount; i++){ Destroy(leaderboardItemsParent.GetChild(i).gameObject); } // Load the locally saved highscore list List highscores = new List(); for (int i = 0; i < 10; i++) { string nameKey = $"highscore_name_{i}"; string scoreKey = $"highscore_score_{i}"; if (PlayerPrefs.HasKey(scoreKey)) { string playerName = PlayerPrefs.GetString(nameKey, ""); int score = PlayerPrefs.GetInt(scoreKey, 0); highscores.Add(new HighscoreEntry() { name = playerName, score = score }); } } for(int i=0; i < highscores.Count; i++){ GameObject leaderboardItem = Instantiate(leaderboardItemPrefab, leaderboardItemsParent); TMP_Text txtName = leaderboardItem.transform.GetChild(0).GetComponent(); TMP_Text txtScore = leaderboardItem.transform.GetChild(1).GetComponent(); txtName.text = highscores[i].name; txtScore.text = highscores[i].score.ToString("n0"); if(i == 0){ RectTransform rectTransform = leaderboardItem.GetComponent(); rectTransform.sizeDelta = new Vector2(rectTransform.sizeDelta.x, rectTransform.sizeDelta.y * 1.4f); txtName.color = Color.Lerp(Color.green, Color.white, 0.7f); txtScore.color = Color.Lerp(Color.green, Color.white, 0.7f); txtName.fontSize *= 1.4f; txtScore.fontSize *= 1.4f; }else if(i == 1){ RectTransform rectTransform = leaderboardItem.GetComponent(); rectTransform.sizeDelta = new Vector2(rectTransform.sizeDelta.x, rectTransform.sizeDelta.y * 1.2f); txtName.color = Color.Lerp(Color.green, Color.white, 0.3f); txtScore.color = Color.Lerp(Color.green, Color.white, 0.3f); txtName.fontSize *= 1.2f; txtScore.fontSize *= 1.2f; } } } }