69 lines
1.8 KiB
C#
69 lines
1.8 KiB
C#
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
namespace GameFramework
|
|
{
|
|
/// <summary>
|
|
/// 主菜单 UI 控制器。
|
|
/// 绑定三个按钮:开始游戏(异步加载)、设置(占位面板)、退出游戏。
|
|
/// </summary>
|
|
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
|
|
}
|
|
}
|
|
}
|