64 lines
1.9 KiB
C#
64 lines
1.9 KiB
C#
using UnityEngine;
|
|
using UnityEngine.Networking;
|
|
using System.Collections;
|
|
using System;
|
|
|
|
|
|
public class Level5SkorUploader : 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 SimpanSkorLevel5(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 = Data5.DataScore;
|
|
|
|
Debug.Log($"[DEBUG] SimpanSkorLevel5() - 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", "level5");
|
|
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
|
|
}
|
|
}
|