94 lines
2.5 KiB
C#
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;
|
|
}
|
|
}
|
|
} |