using UnityEngine; using UnityEngine.UIElements; using UnityEngine.SceneManagement; namespace MegaKoop.UI { /// /// Controller pro Main Menu s UI Toolkit /// public class MainMenuController : MonoBehaviour { [Header("UI Document")] [SerializeField] private UIDocument uiDocument; [Header("Scene Names")] [SerializeField] private string gameSceneName = "GameScene"; [Header("Audio")] [SerializeField] private AudioSource audioSource; [SerializeField] private AudioClip buttonClickSound; [SerializeField] private AudioClip buttonHoverSound; // Root element private VisualElement root; // Main Menu Elements private Button newGameButton; private Button continueButton; private Button multiplayerButton; private Button settingsButton; private Button creditsButton; private Button quitButton; // Settings Panel Elements private VisualElement settingsPanel; private DropdownField qualityDropdown; private Toggle fullscreenToggle; private DropdownField resolutionDropdown; private Slider masterVolumeSlider; private Slider musicVolumeSlider; private Slider sfxVolumeSlider; private Button applyButton; private Button backButton; private void OnEnable() { // Získání UI Document if (uiDocument == null) uiDocument = GetComponent(); root = uiDocument.rootVisualElement; // Inicializace UI elementů InitializeMenuButtons(); InitializeSettingsPanel(); // Registrace event handlerů RegisterButtonEvents(); // Načtení nastavení LoadSettings(); } private void OnDisable() { // Odregistrování event handlerů UnregisterButtonEvents(); } #region Initialization private void InitializeMenuButtons() { newGameButton = root.Q