This commit is contained in:
2026-07-07 03:34:56 +08:00
parent e7891d7e00
commit ecb20cf370
81 changed files with 2108 additions and 293 deletions
+9 -11
View File
@@ -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()