using UnityEngine; using UnityEngine.Networking; using System.Collections; using System; public class Level4SkorUploader : MonoBehaviour { public string BersihkanKarakter(string input) { // Hilangkan karakter yang tidak bisa di-encode ke UTF-8 byte[] bytes = System.Text.Encoding.UTF8.GetBytes(input); return System.Text.Encoding.UTF8.GetString(bytes); } public void SimpanSkorLevel4(Action onFinish = null) { if (GlobalUser.Instance == null) { Debug.LogWarning("GlobalUser tidak ditemukan!"); return; } string namaUser = GlobalUser.Instance.namaUser; int userId = GlobalUser.Instance.userId; string noAbsen = GlobalUser.Instance.noAbsen; int skor = Data4.DataScore; Debug.Log($"[DEBUG] SimpanSkorLevel4() - userId: {userId}, score: {skor}"); StartCoroutine(KirimSkorKeServer(userId, skor, noAbsen, namaUser, onFinish)); } IEnumerator KirimSkorKeServer(int userId, int skor, string namaUser, string noAbsen, Action onFinish = null) { WWWForm form = new WWWForm(); form.AddField("api", "update_level"); form.AddField("level", "level4"); form.AddField("id", userId); form.AddField("nama", namaUser); form.AddField("absen", noAbsen); form.AddField("score", skor); string url = "https://wifiapi.wazzgroup.com/api.php"; using (UnityWebRequest www = UnityWebRequest.Post(url, form)) { yield return www.SendWebRequest(); if (www.result != UnityWebRequest.Result.Success) { Debug.LogError("Gagal kirim data skor: " + www.error); } else { string json = www.downloadHandler.text; Debug.Log("Respon server: " + json); } } onFinish?.Invoke(); // callback setelah kirim skor selesai } }