206 lines
6.8 KiB
C#
206 lines
6.8 KiB
C#
using UnityEngine;
|
|
using UnityEngine.Networking;
|
|
using System.Collections;
|
|
using System;
|
|
|
|
public class Level1SkorUploader : 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 SimpanSkorLevel1(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 = Data.DataScore;
|
|
|
|
Debug.Log($"[DEBUG] SimpanSkorLevel1() - userId: {userId}, score: {skor}");
|
|
|
|
StartCoroutine(KirimSkorKeServer(userId, skor, noAbsen,namaUser, onFinish));
|
|
}
|
|
|
|
|
|
//koneksi
|
|
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", "level1");
|
|
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
|
|
}
|
|
}
|
|
//using UnityEngine;
|
|
//using UnityEngine.Networking;
|
|
//using System.Collections;
|
|
|
|
//public class Level1SkorUploader : MonoBehaviour
|
|
//{
|
|
// public void SimpanSkorLevel1()
|
|
// {
|
|
// if (GlobalUser.Instance == null)
|
|
// {
|
|
// Debug.LogWarning("GlobalUser tidak ditemukan!");
|
|
// return;
|
|
// }
|
|
|
|
// int userId = GlobalUser.Instance.userId;
|
|
// int skor = Data.DataScore;
|
|
|
|
// Debug.Log($"[DEBUG] SimpanSkorLevel1() - userId: {userId}, score: {skor}");
|
|
|
|
// StartCoroutine(KirimSkorKeServer(userId, skor));
|
|
// }
|
|
|
|
// IEnumerator KirimSkorKeServer(int userId, int skor)
|
|
// {
|
|
// WWWForm form = new WWWForm();
|
|
// form.AddField("api", "update_level");
|
|
// form.AddField("level", "level1");
|
|
// form.AddField("id", userId);
|
|
// 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);
|
|
// // Kamu bisa parsing JSON kalau perlu
|
|
// }
|
|
// }
|
|
// }
|
|
//}
|
|
|
|
//using MySql.Data.MySqlClient;
|
|
//using UnityEngine;
|
|
|
|
//public class Level1SkorUploader : MonoBehaviour
|
|
//{
|
|
// private string conn;
|
|
// private MySqlConnection koneksi;
|
|
|
|
// void Start()
|
|
// {
|
|
// conn = "Server=127.0.0.1; Database=game; User=root; Password=;";
|
|
// koneksi = new MySqlConnection(conn);
|
|
// }
|
|
|
|
|
|
|
|
// public void SimpanSkorLevel1()
|
|
// {
|
|
// if (GlobalUser.Instance == null)
|
|
// {
|
|
// Debug.LogWarning("GlobalUser tidak ditemukan!");
|
|
// return;
|
|
// }
|
|
|
|
// int userId = GlobalUser.Instance.userId;
|
|
// int skor = Data.DataScore;
|
|
|
|
// Debug.Log($"[DEBUG] SimpanSkorLevel1() - userId: {userId}, score: {skor}");
|
|
|
|
// if (userId <= 0)
|
|
// {
|
|
// Debug.LogWarning("User ID tidak valid!");
|
|
// return;
|
|
// }
|
|
|
|
// try
|
|
// {
|
|
// koneksi.Open();
|
|
|
|
// // Simpan skor terakhir ke tabel score
|
|
// string sqlUpdateScore = "UPDATE score SET level1 = @score WHERE id = @user_id";
|
|
// MySqlCommand cmdUpdateScore = new MySqlCommand(sqlUpdateScore, koneksi);
|
|
// cmdUpdateScore.Parameters.AddWithValue("@score", skor);
|
|
// cmdUpdateScore.Parameters.AddWithValue("@user_id", userId);
|
|
// int rowsAffected = cmdUpdateScore.ExecuteNonQuery();
|
|
// Debug.Log("Baris terpengaruh di tabel score: " + rowsAffected);
|
|
|
|
// // Cek dan simpan skor tertinggi di tabel high_scores
|
|
// string sqlSelectHighScore = "SELECT level1 FROM high_score WHERE id_score = @user_id";
|
|
// MySqlCommand cmdSelectHighScore = new MySqlCommand(sqlSelectHighScore, koneksi);
|
|
// cmdSelectHighScore.Parameters.AddWithValue("@user_id", userId);
|
|
|
|
// int currentHighScore = 0;
|
|
// MySqlDataReader reader = cmdSelectHighScore.ExecuteReader();
|
|
// if (reader.Read())
|
|
// {
|
|
// currentHighScore = reader.GetInt32("level1");
|
|
// }
|
|
// reader.Close();
|
|
|
|
// // Jika skor terbaru lebih tinggi, update high_scores
|
|
// if (skor > currentHighScore)
|
|
// {
|
|
// string sqlUpdateHighScore = "INSERT INTO high_score (id_score, nama, level1) " +
|
|
// "VALUES (@user_id, (SELECT nama FROM score WHERE id = @user_id), @score) " +
|
|
// "ON DUPLICATE KEY UPDATE level1 = GREATEST(level1, @score)";
|
|
// MySqlCommand cmdUpdateHighScore = new MySqlCommand(sqlUpdateHighScore, koneksi);
|
|
// cmdUpdateHighScore.Parameters.AddWithValue("@user_id", userId);
|
|
// cmdUpdateHighScore.Parameters.AddWithValue("@score", skor);
|
|
// int rowsAffectedHighScore = cmdUpdateHighScore.ExecuteNonQuery();
|
|
// Debug.Log("Baris terpengaruh di tabel high_score: " + rowsAffectedHighScore);
|
|
// }
|
|
|
|
// koneksi.Close();
|
|
|
|
// if (rowsAffected > 0)
|
|
// {
|
|
// Debug.Log("Skor Level 1 berhasil disimpan untuk user ID: " + userId);
|
|
// }
|
|
// else
|
|
// {
|
|
// Debug.LogWarning("Tidak ada baris yang terpengaruh di tabel score. Mungkin ID tidak cocok?");
|
|
// }
|
|
// }
|
|
// catch (MySqlException ex)
|
|
// {
|
|
// Debug.LogError("Gagal menyimpan skor level 1: " + ex.Message);
|
|
// }
|
|
// }
|
|
//}
|