using UnityEngine; using UnityEngine.UI; using UnityEngine.Audio; public class MainMenuManager : MonoBehaviour { [Header("Panels")] public GameObject mainPanel; public GameObject optionsPanel; [Header("Credits")] public GameObject creditsPanel; public CreditsScroller creditsScroller; [Header("Audio")] public AudioSource musicSource; public Slider volumeSlider; public AudioSource mainMenuMusic; public AudioSource creditsMusic; [Header("Brightness")] public Slider brightnessSlider; public Light directionalLight; [Header("Canvas Brightness")] public Image brightnessOverlay; private void Start() { // ===== VOLUMEN ===== float savedVolume = PlayerPrefs.GetFloat("Volume", 1f); volumeSlider.value = savedVolume; musicSource.volume = savedVolume; // ===== BRILLO ===== float savedBrightness = PlayerPrefs.GetFloat("Brightness", 1f); brightnessSlider.value = savedBrightness; // Aplicar TODO el sistema de brillo ChangeBrightness(); // ===== MENUS ===== mainPanel.SetActive(true); optionsPanel.SetActive(false); } // ===== OPCIONES ===== public void OpenOptions() { mainPanel.SetActive(false); optionsPanel.SetActive(true); } public void CloseOptions() { mainPanel.SetActive(true); optionsPanel.SetActive(false); } // ===== VOLUMEN ===== public void ChangeVolume() { musicSource.volume = volumeSlider.value; PlayerPrefs.SetFloat("Volume", volumeSlider.value); PlayerPrefs.Save(); } // ===== BRILLO ===== public void ChangeBrightness() { float brightness = brightnessSlider.value; // Luz del mundo directionalLight.intensity = brightness; // Overlay UI float darkness = 1 - (brightness / 2f); darkness = Mathf.Clamp01(darkness); Color overlayColor = brightnessOverlay.color; overlayColor.a = darkness; brightnessOverlay.color = overlayColor; PlayerPrefs.SetFloat("Brightness", brightness); PlayerPrefs.Save(); } // ===== CREDITOS ===== public void OpenCredits() { mainPanel.SetActive(false); creditsPanel.SetActive(true); // CAMBIO DE MUSICA mainMenuMusic.Stop(); creditsMusic.Play(); } public void CloseCredits() { creditsPanel.SetActive(false); mainPanel.SetActive(true); creditsMusic.Stop(); mainMenuMusic.Play(); } // ===== SALIR ===== public void ExitGame() { Debug.Log("Juego Cerrado"); #if UNITY_EDITOR UnityEditor.EditorApplication.isPlaying = false; #else Application.Quit(); #endif } }