MIF_E31221357/Assets/Scripts/TestManager.cs

65 lines
1.8 KiB
C#

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<bool> 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);
}
});
}
}