83 lines
2.3 KiB
C#
83 lines
2.3 KiB
C#
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
namespace GameFramework
|
|
{
|
|
/// <summary>
|
|
/// 主菜单 UI 控制器(游戏封面)。
|
|
/// 包含游戏标题 + 开始游戏/剧情回放/制作人员按钮。
|
|
/// </summary>
|
|
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
|
|
}
|
|
}
|
|
}
|