using System.Collections.Generic; using System.Linq; using UnityEngine; using TMPro; public class DisplayNamadanSkor : MonoBehaviour { public GameObject nameScorePrefab; public Transform contentParent; public static DisplayNamadanSkor Instance { get; private set; } private void Awake() { if (Instance == null) { Instance = this; DontDestroyOnLoad(gameObject); } else { Destroy(gameObject); } } private void Start() { TampilkanNamaDanSkor(); } public void TampilkanNamaDanSkor() { foreach (Transform child in contentParent) { Destroy(child.gameObject); } List namesList = AmbilDaftarNamaTersimpan(); List scoresList = AmbilDaftarSkorTersimpan(); Debug.Log("Nama yang tersimpan: " + string.Join(", ", namesList)); Debug.Log("Skor yang tersimpan: " + string.Join(", ", scoresList)); if (namesList.Count > 0 && namesList.Count == scoresList.Count) { // Tambahkan entri baru untuk setiap nama dan skor for (int i = 0; i < namesList.Count; i++) { GameObject newEntry = Instantiate(nameScorePrefab, contentParent); NameScoreEntry entryScript = newEntry.GetComponent(); entryScript.SetEntry(namesList[i], scoresList[i].ToString()); Debug.Log($"Menambahkan entri: {namesList[i]} - {scoresList[i]}"); } } else { Debug.LogWarning("Tidak ada nama atau skor yang tersimpan atau jumlah nama dan skor tidak sama."); } } private List AmbilDaftarNamaTersimpan() { string savedNames = PlayerPrefs.GetString("NamaLengkapList", ""); return string.IsNullOrEmpty(savedNames) ? new List() : savedNames.Split(',').ToList(); } private List AmbilDaftarSkorTersimpan() { List scoresList = new List(); List namesList = AmbilDaftarNamaTersimpan(); foreach (string namaLengkap in namesList) { int score = PlayerPrefs.GetInt(namaLengkap + "Score", 0); scoresList.Add(score); Debug.Log($"Mengambil skor untuk {namaLengkap}: {score}"); // Tambahkan log untuk debug } return scoresList; } public void ResetData() { PlayerPrefs.DeleteAll(); foreach (Transform child in contentParent) { Destroy(child.gameObject); } } }