Raihan_TugasAkhir/Assets/Script/MainMenuManager.cs

94 lines
2.5 KiB
C#

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class MainMenuManager : MonoBehaviour
{
[Header("Pengaturan Panel UI")]
public GameObject panelStart;
public GameObject panelMainMenu;
[Header("Pengaturan Tombol Suara")]
public Image gambarTombolSuara;
public Sprite ikonSuaraHidup;
public Sprite ikonSuaraMati;
[Header("Musik Latar (BGM)")] // <-- KOTAK BARU KHUSUS UNTUK LAGU LATAR
public AudioSource musikLatar;
// Variabel static ini akan tersimpan selama aplikasi tidak ditutup total
private static bool sudahPernahStart = false;
public static bool isMuted = false; // Status lagu (nyala/mati)
void Start()
{
// 1. LOGIKA PANEL MENU UTAMA
if (sudahPernahStart == false)
{
if (panelStart != null) panelStart.SetActive(true);
if (panelMainMenu != null) panelMainMenu.SetActive(false);
}
else
{
if (panelStart != null) panelStart.SetActive(false);
if (panelMainMenu != null) panelMainMenu.SetActive(true);
}
// 2. LOGIKA UPDATE TAMPILAN & MUSIK
UpdateTampilanTombolSuara();
// HANYA mematikan/menyalakan Musik Latar, bukan semua suara
if (musikLatar != null)
{
musikLatar.mute = isMuted;
}
}
public void BukaMenuUtama()
{
sudahPernahStart = true;
if (panelStart != null) panelStart.SetActive(false);
if (panelMainMenu != null) panelMainMenu.SetActive(true);
}
public void MasukKeHewan()
{
SceneManager.LoadScene("Scene_Hewan");
}
public void MasukKeBuah()
{
SceneManager.LoadScene("Scene_Buah");
}
// ====================================================
// --- FUNGSI UNTUK TOMBOL KELUAR & SUARA ---
// ====================================================
public void TombolKeluarGame()
{
Debug.Log("Pemain Keluar Game!");
Application.Quit();
}
public void TombolToggleSuara()
{
isMuted = !isMuted; // Balikkan keadaan (Mati jadi Nyala, Nyala jadi Mati)
// HANYA mematikan musik latar (lagu)
if (musikLatar != null)
{
musikLatar.mute = isMuted;
}
UpdateTampilanTombolSuara();
}
private void UpdateTampilanTombolSuara()
{
if (gambarTombolSuara != null)
{
gambarTombolSuara.sprite = isMuted ? ikonSuaraMati : ikonSuaraHidup;
}
}
}