重构
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using UnityEngine.SceneManagement;
|
||||
using Architecture.Core;
|
||||
|
||||
namespace GameFramework
|
||||
{
|
||||
@@ -10,9 +11,9 @@ namespace GameFramework
|
||||
public enum GameResult { Win, Lose }
|
||||
|
||||
/// <summary>
|
||||
/// 游戏结果界面(支持胜利/失败)。
|
||||
/// 监听 GameManager.onGameOver 和 onGameWin 事件,
|
||||
/// 显示对应面板并暂停游戏。确认后跳转到排行榜场景。
|
||||
/// 游戏结果界面(仅负责「胜利」结算)。
|
||||
/// 监听 OnGameWin 事件,显示胜利面板并暂停游戏,确认后跳转到排行榜场景。
|
||||
/// 「失败」由 GameLostOverlay 接管(订阅 OnGameOver),本屏不处理失败,避免空响应。
|
||||
/// </summary>
|
||||
public class GameResultScreen : MonoBehaviour
|
||||
{
|
||||
@@ -38,6 +39,9 @@ namespace GameFramework
|
||||
[Header("Input")]
|
||||
[SerializeField] private KeyCode confirmKey = KeyCode.Return;
|
||||
|
||||
[Header("SO 事件通道(胜利事件;失败由 GameLostOverlay 接管)")]
|
||||
[SerializeField] private GameEvent onGameWinEvent;
|
||||
|
||||
private bool _isVisible;
|
||||
|
||||
/// <summary>
|
||||
@@ -59,20 +63,14 @@ namespace GameFramework
|
||||
|
||||
void OnEnable()
|
||||
{
|
||||
GameManager.onGameOver += OnGameOver;
|
||||
GameManager.onGameWin += OnGameWin;
|
||||
onGameWinEvent?.Register(OnGameWin);
|
||||
}
|
||||
|
||||
void OnDisable()
|
||||
{
|
||||
GameManager.onGameOver -= OnGameOver;
|
||||
GameManager.onGameWin -= OnGameWin;
|
||||
onGameWinEvent?.Unregister(OnGameWin);
|
||||
}
|
||||
|
||||
void OnGameOver()
|
||||
{
|
||||
// 失败时由 GameLostOverlay 接管,不再显示旧失败面板
|
||||
}
|
||||
void OnGameWin() => ShowResult(GameResult.Win);
|
||||
|
||||
void Start()
|
||||
|
||||
Reference in New Issue
Block a user