65 lines
1.8 KiB
C#
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);
|
|
}
|
|
});
|
|
}
|
|
}
|