using UnityEngine; using UnityEngine.UI; namespace GameFramework { /// /// 主菜单 UI 控制器(游戏封面)。 /// 包含游戏标题 + 开始游戏/剧情回放/制作人员按钮。 /// public class MainMenuUIController : MonoBehaviour { [Header("标题")] [SerializeField] Text titleText; [SerializeField] Image titleImage; [Header("Buttons")] [SerializeField] Button startButton; [SerializeField] Button storyReplayButton; [SerializeField] Button creditsButton; [SerializeField] Button quitButton; [Header("Settings Panel (placeholder)")] [SerializeField] GameObject settingsPanel; [SerializeField] Button settingsBackButton; void Start() { // 绑定按钮事件 if (startButton != null) startButton.onClick.AddListener(OnStartClick); if (storyReplayButton != null) storyReplayButton.onClick.AddListener(OnStoryReplayClick); if (creditsButton != null) creditsButton.onClick.AddListener(OnCreditsClick); 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 OnStoryReplayClick() { // TODO: 实现剧情回放功能 Debug.Log("[MainMenu] 剧情回放 - 待实现"); } void OnCreditsClick() { // TODO: 实现制作人员界面 Debug.Log("[MainMenu] 制作人员 - 待实现"); } void OnSettingsBackClick() { if (settingsPanel != null) settingsPanel.SetActive(false); } void OnQuitClick() { #if UNITY_EDITOR UnityEditor.EditorApplication.isPlaying = false; #else Application.Quit(); #endif } } }