using System.Collections; using UnityEngine; public class TestManager : MonoBehaviour { public static TestManager Instance; public string username; public int pretestScore; public int posttestScore; public string kelas; public string absen; public string kodeLogin; private void Awake() { if (Instance == null) { Instance = this; DontDestroyOnLoad(gameObject); } else { Destroy(gameObject); } } public void SetUserData(string username, int pretest, int posttest, string kelas, string absen) { this.username = username; this.pretestScore = pretest; this.posttestScore = posttest; this.kelas = kelas; this.absen = absen; this.kodeLogin = $"{username}_{kelas}_{absen}"; Debug.Log("[TestManager] User data diatur dari Firebase: " + kodeLogin); } // Fungsi untuk mengambil semua data user dari Firebase public void LoadAllUserDataFromFirebase(string kodeLogin, System.Action callback = null) { if (string.IsNullOrEmpty(kodeLogin)) { Debug.LogWarning("[TestManager] kodeLogin kosong. Tidak bisa ambil data."); callback?.Invoke(false); return; } DBManager.GetUserData(kodeLogin, userData => { if (userData != null) { SetUserData(userData.username, userData.pretest, userData.posttest, userData.kelas, userData.absen); callback?.Invoke(true); } else { Debug.LogWarning("[TestManager] Gagal mengambil data user dari Firebase."); callback?.Invoke(false); } }); } }