using UnityEngine; using UnityEngine.UI; namespace GameFramework { /// /// 主菜单 UI 控制器。 /// 绑定三个按钮:开始游戏(异步加载)、设置(占位面板)、退出游戏。 /// public class MainMenuUIController : MonoBehaviour { [Header("Buttons")] [SerializeField] Button startButton; [SerializeField] Button settingsButton; [SerializeField] Button quitButton; [Header("Settings Panel (placeholder)")] [SerializeField] GameObject settingsPanel; [SerializeField] Button settingsBackButton; void Start() { // 绑定按钮事件 if (startButton != null) startButton.onClick.AddListener(OnStartClick); if (settingsButton != null) settingsButton.onClick.AddListener(OnSettingsClick); if (quitButton != null) quitButton.onClick.AddListener(OnQuitClick); if (settingsBackButton != null) settingsBackButton.onClick.AddListener(OnSettingsBackClick); // 确保设置面板初始关闭 if (settingsPanel != null) settingsPanel.SetActive(false); } void OnStartClick() { if (SceneLoader.Instance != null) SceneLoader.Instance.LoadGameplayScene(); } void OnSettingsClick() { if (settingsPanel != null) settingsPanel.SetActive(true); } void OnSettingsBackClick() { if (settingsPanel != null) settingsPanel.SetActive(false); } void OnQuitClick() { #if UNITY_EDITOR UnityEditor.EditorApplication.isPlaying = false; #else Application.Quit(); #endif } } }