优化整体流程和修复HUD数值更新BUG

This commit is contained in:
2026-07-05 16:18:04 +08:00
parent 31cbb580b6
commit 1caf10d602
15 changed files with 1448 additions and 44 deletions
File diff suppressed because one or more lines are too long
+9
View File
@@ -91,6 +91,15 @@ namespace GameFramework
void Update()
{
// 延迟订阅 ScoreManager(跨场景后 ScoreManager 可能才创建)
if (!_subscribedScoreEvent && ScoreManager.Instance != null)
{
ScoreManager.onScoreChanged += UpdateSoulCount;
_subscribedScoreEvent = true;
UpdateSoulCount(ScoreManager.Instance.CurrentScore);
Debug.Log("[GameHUD] 延迟订阅 ScoreManager.onScoreChanged 成功");
}
UpdateLifeIcons();
UpdateSkillCooldowns();
}
+6 -2
View File
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;
namespace GameFramework
{
@@ -22,7 +23,7 @@ namespace GameFramework
[SerializeField] private GameObject winPanel;
[SerializeField] private Image winTitleImage; // "你做到了" 图片
[SerializeField] private Sprite winTitleSprite; // nizuodaol.png
[SerializeField] private Text soulCountText; // 魂灵数量
[SerializeField] private TextMeshProUGUI soulCountText; // 魂灵数量
[SerializeField] private Image soulCountBgImage; // 魂灵数量底图
[SerializeField] private Sprite soulCountBgSprite; // bgpoint.png
[SerializeField] private Image newRecordImage; // "新记录" 图片
@@ -38,7 +39,7 @@ namespace GameFramework
[Header("排行榜")]
[SerializeField] private GameObject leaderboardPanel;
[SerializeField] private Transform leaderboardContainer;
[SerializeField] private Text finalScoreText;
[SerializeField] private TextMeshProUGUI finalScoreText;
[Header("新纪录输入")]
[SerializeField] private GameObject newHighScorePanel;
@@ -284,8 +285,11 @@ namespace GameFramework
void OnMainMenuClick()
{
Time.timeScale = 1f;
if (SceneLoader.Instance != null)
SceneLoader.Instance.LoadMainMenuScene();
else
UnityEngine.SceneManagement.SceneManager.LoadScene("MainMenu");
}
#endregion
}