MIF_E31221325/Assets/Scenes/level3/script3/Level3SkorUploader.cs

122 lines
3.5 KiB
C#

using UnityEngine;
using UnityEngine.Networking;
using System.Collections;
using System;
public class Level3SkorUploader : 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 SimpanSkorLevel3(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 = Data3.DataScore;
Debug.Log($"[DEBUG] SimpanSkorLevel3() - 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", "level3");
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
}
}
//public void SimpanSkorLevel3()
//{
// if (GlobalUser.Instance == null)
// {
// Debug.LogWarning("GlobalUser tidak ditemukan!");
// return;
// }
// int userId = GlobalUser.Instance.userId;
// int skor = Data3.DataScore;
// Debug.Log($"[DEBUG] SimpanSkorLevel3() - userId: {userId}, score: {skor}");
// if (userId <= 0)
// {
// Debug.LogWarning("User ID tidak valid!");
// return;
// }
// try
// {
// koneksi.Open();
// string sql = "UPDATE score SET level3 = @score WHERE id = @user_id";
// MySqlCommand cmd = new MySqlCommand(sql, koneksi);
// cmd.Parameters.AddWithValue("@score", skor);
// cmd.Parameters.AddWithValue("@user_id", userId);
// int rowsAffected = cmd.ExecuteNonQuery();
// Debug.Log("Query dieksekusi: " + cmd.CommandText);
// Debug.Log("Baris terpengaruh: " + rowsAffected);
// koneksi.Close();
// if (rowsAffected > 0)
// {
// Debug.Log("Skor Level 3 berhasil disimpan untuk user ID: " + userId);
// }
// else
// {
// Debug.LogWarning("Tidak ada baris yang terpengaruh. Mungkin ID tidak cocok?");
// }
// //supaya score tampil diperfab
// PlayerPrefs.SetInt("score_level_3", skor);
// PlayerPrefs.Save();
// }
// catch (MySqlException ex)
// {
// Debug.LogError("Gagal menyimpan skor level 3: " + ex.Message);
// }
//}