CombatNodeComponent 战斗节点功能补全

- 失败逻辑补全:添加基地血量,当血量归0时强制结束关卡
- `CombatInfoForm` 刷新逻辑补全:通过订阅 `CombatCoinChanged/Process/BaseHpChangedEventArgs` 来更新 UI,同时可以避免一点小变动刷新整个 UI
- `CombatSelectForm` 逻辑优化:订阅 `CombatCoinChanged` 来实时更新当前 Coin 是否满足操作条件
This commit is contained in:
SepComet
2026-03-02 12:06:36 +08:00
parent 5c7501d4fb
commit c576224991
23 changed files with 625 additions and 85 deletions
@@ -34,6 +34,7 @@ namespace GeometryTD.UI
var level = GameEntry.CombatNode.CurrentLevel;
LevelThemeType themeType = level != null ? level.LevelThemeType : GameEntry.CombatNode.CurrentThemeType;
int levelId = level != null ? level.Id : 0;
int baseHpMax = level != null ? level.BaseHp : 0;
return new CombatInfoFormRawData
{
@@ -42,6 +43,8 @@ namespace GeometryTD.UI
CurrentPhaseIndex = GameEntry.CombatNode.CurrentPhaseIndex,
TotalPhaseCount = GameEntry.CombatNode.CurrentLevelPhaseCount,
Coin = GameEntry.CombatNode.CurrentCoin,
BaseHp = GameEntry.CombatNode.CurrentBaseHp,
BaseHpMax = baseHpMax,
CanPause = true,
CanEnd = GameEntry.CombatNode.CanEndCombat
};