148 lines
4.0 KiB
C#
148 lines
4.0 KiB
C#
using UnityEngine;
|
|
using UnityEngine.Networking;
|
|
using UnityEngine.SceneManagement;
|
|
using TMPro;
|
|
using System.Collections;
|
|
|
|
public class regist : MonoBehaviour
|
|
{
|
|
public TMP_Text nama;
|
|
public TMP_Text noAbsen;
|
|
|
|
public TMP_Text pesanKoneksi;
|
|
|
|
[System.Serializable]
|
|
public class SimpleResponse
|
|
{
|
|
public int id;
|
|
}
|
|
|
|
|
|
|
|
|
|
//auto login
|
|
|
|
void Start()
|
|
{
|
|
// Auto login jika data sudah ada
|
|
if (PlayerPrefs.HasKey("userId"))
|
|
{
|
|
int id = PlayerPrefs.GetInt("userId");
|
|
string savedNama = PlayerPrefs.GetString("namaUser");
|
|
string savedAbsen = PlayerPrefs.GetString("noAbsen");
|
|
|
|
if (GlobalUser.Instance != null)
|
|
{
|
|
GlobalUser.Instance.userId = id;
|
|
GlobalUser.Instance.namaUser = savedNama;
|
|
GlobalUser.Instance.noAbsen = savedAbsen;
|
|
}
|
|
|
|
// SceneManager.LoadScene("pretest"); // ganti sesuai nama scene
|
|
|
|
|
|
//perubahan sementara
|
|
// Cek apakah pretest sudah selesai
|
|
if (PlayerPrefs.GetInt("pretest_selesai", 0) == 1)
|
|
{
|
|
SceneManager.LoadScene("MainMenu"); // ganti sesuai nama scene main kamu
|
|
}
|
|
else
|
|
{
|
|
SceneManager.LoadScene("pretest");
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
/// spasi
|
|
void Update()
|
|
{
|
|
// Tombol back HP atau Escape di laptop = keluar game langsung di scene register
|
|
if (Input.GetKeyDown(KeyCode.Escape))
|
|
{
|
|
Application.Quit();
|
|
|
|
#if UNITY_EDITOR
|
|
UnityEditor.EditorApplication.isPlaying = false;
|
|
#endif
|
|
}
|
|
}
|
|
|
|
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 Btn_Registrasi()
|
|
{
|
|
StartCoroutine(KirimData(nama.text, noAbsen.text));
|
|
}
|
|
|
|
IEnumerator KirimData(string namaUser, string absenUser)
|
|
{
|
|
WWWForm form = new WWWForm();
|
|
form.AddField("nama", namaUser);
|
|
form.AddField("no_absen", absenUser);
|
|
form.AddField("api", "register");
|
|
|
|
string url = "https://wifiapi.wazzgroup.com/api.php";
|
|
|
|
using (UnityWebRequest www = UnityWebRequest.Post(url, form))
|
|
{
|
|
www.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); // tambahan penting
|
|
yield return www.SendWebRequest();
|
|
|
|
if (www.result != UnityWebRequest.Result.Success)
|
|
{
|
|
Debug.LogError("Gagal kirim data: " + www.error);
|
|
|
|
if (pesanKoneksi != null)
|
|
{
|
|
pesanKoneksi.text = "Pastikan perangkat terhubung dengan internet!";
|
|
StartCoroutine(HilangkanPesanSetelahDelay(2f)); // Hilangkan setelah 2 detik
|
|
}
|
|
}
|
|
else
|
|
{
|
|
string response = www.downloadHandler.text;
|
|
Debug.Log("Respon server: " + response);
|
|
|
|
SimpleResponse data = JsonUtility.FromJson<SimpleResponse>(response);
|
|
|
|
if (GlobalUser.Instance != null)
|
|
{
|
|
GlobalUser.Instance.userId = data.id;
|
|
GlobalUser.Instance.namaUser = namaUser;
|
|
GlobalUser.Instance.noAbsen = absenUser;
|
|
}
|
|
|
|
|
|
|
|
//sipan perfab
|
|
PlayerPrefs.SetInt("userId", data.id);
|
|
PlayerPrefs.SetString("namaUser", namaUser);
|
|
PlayerPrefs.SetString("noAbsen", absenUser);
|
|
PlayerPrefs.Save();
|
|
|
|
|
|
|
|
|
|
SceneManager.LoadScene("pretest");
|
|
}
|
|
}
|
|
}
|
|
|
|
IEnumerator HilangkanPesanSetelahDelay(float delay)
|
|
{
|
|
yield return new WaitForSeconds(delay);
|
|
if (pesanKoneksi != null)
|
|
{
|
|
pesanKoneksi.text = "";
|
|
}
|
|
}
|
|
|
|
}
|