using UnityEngine; using UnityEngine.SceneManagement; public class BackButtonManager : MonoBehaviour { [Header("Popup konfirmasi keluar (8. Logout)")] public GameObject popupKeluar; [Header("Popup lain yang ada di scene")] public GameObject[] popupsLain; [Header("Nama scene Main Menu")] public string namaSceneMainMenu = "8. Logout"; // ganti sesuai nama scene main menu kamu [Header("Nama scene tujuan kembali dari dalam game")] public string namaSceneSebelumnya = "8. Logout"; // ganti sesuai scene yang mau kamu kembali di dalam game void Update() { if (Input.GetKeyDown(KeyCode.Escape)) { string currentScene = SceneManager.GetActiveScene().name; // Tutup popup lain dulu kalau ada yang aktif foreach (GameObject popup in popupsLain) { if (popup != null && popup.activeSelf) { popup.SetActive(false); return; // stop, jangan lanjut } } if (currentScene == namaSceneMainMenu) { // Di Main Menu muncul popup keluar game if (popupKeluar != null && !popupKeluar.activeSelf) { popupKeluar.SetActive(true); } } else { // Di dalam game langsung load scene sebelumnya (bisa main menu atau scene lain) SceneManager.LoadScene(namaSceneSebelumnya); } } if (Input.GetKeyDown(KeyCode.Escape)) { Debug.Log("Tombol Escape ditekan"); // kode lain... } } public void KeluarGame() { Application.Quit(); } public void BatalKeluar() { if (popupKeluar != null) popupKeluar.SetActive(false); } }