摄像机区域的架构改动
This commit is contained in:
59
Assets/_Game/Scripts/UI/Menus/PauseMenuController.cs
Normal file
59
Assets/_Game/Scripts/UI/Menus/PauseMenuController.cs
Normal file
@@ -0,0 +1,59 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using BaseGames.Core.Events;
|
||||
|
||||
namespace BaseGames.UI
|
||||
{
|
||||
/// <summary>
|
||||
/// 暂停菜单控制器(架构 10_UIModule §5)。
|
||||
/// 挂载在 Canvas_Menu → PauseMenuPanel GameObject 上。
|
||||
/// 按钮绑定在 Awake 中完成;由 UIManager 负责面板开关。
|
||||
/// </summary>
|
||||
public class PauseMenuController : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private UIManager _uiManager;
|
||||
[SerializeField] private GameObject _settingsRoot; // SettingsPanel 根 GameObject
|
||||
|
||||
[Header("按钮引用")]
|
||||
[SerializeField] private Button _btnResume;
|
||||
[SerializeField] private Button _btnSettings;
|
||||
[SerializeField] private Button _btnMainMenu;
|
||||
[SerializeField] private Button _btnQuit;
|
||||
|
||||
[Header("Event Channels")]
|
||||
[SerializeField] private VoidEventChannelSO _onResumeRequested;
|
||||
[SerializeField] private SceneLoadRequestEventChannelSO _onSceneLoadRequest;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
_btnResume.onClick.AddListener(Resume);
|
||||
_btnSettings.onClick.AddListener(OpenSettings);
|
||||
_btnMainMenu.onClick.AddListener(GoToMainMenu);
|
||||
_btnQuit.onClick.AddListener(Application.Quit);
|
||||
}
|
||||
|
||||
// ── 按钮回调 ──────────────────────────────────────────────────────────
|
||||
|
||||
private void Resume()
|
||||
{
|
||||
_onResumeRequested?.Raise();
|
||||
_uiManager.CloseTopPanel();
|
||||
}
|
||||
|
||||
private void OpenSettings()
|
||||
{
|
||||
if (_settingsRoot != null)
|
||||
_uiManager.OpenPanel(_settingsRoot);
|
||||
}
|
||||
|
||||
private void GoToMainMenu()
|
||||
{
|
||||
_uiManager.CloseTopPanel();
|
||||
_onSceneLoadRequest?.Raise(new SceneLoadRequest
|
||||
{
|
||||
SceneName = "MainMenu",
|
||||
ShowLoadingScreen = true
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user