Commit Graph

2 Commits

Author SHA1 Message Date
SepComet 853886797c refactor 2: 迁移局内资源真值
- CombatInRunResourceManager 现在持有并管理:
    - CurrentCoin
    - CurrentBaseHp
    - MaxBaseHp
    - GainedCoin / GainedGold
    - 本局 BuildTowerStats 快照
    - 奖励背包快照
    - CombatInRunResourceManager.cs:38
    - CombatInRunResourceManager.cs:46
    - CombatInRunResourceManager.cs:89
    - CombatInRunResourceManager.cs:156
- CombatScheduler 变成资源访问入口,不再通过 CombatNodeComponent 持有 coin/baseHp/build stats 真值。
    - 启动时先初始化局内资源。
    - 对外提供 CurrentCoin / CurrentGold / CurrentBaseHp / CurrentBuildTowerCount
    - 提供 TryConsumeCoin / AddCoin / TryGetBuildTowerStats
- CombatNodeComponent 已退回 facade:
    - 不再保存 _currentCoin / _currentGold / _currentBaseHp / _currentBuildTowerStats
    - 只做只读转发和启动/结束协调
- 资源变化事件现在由资源管理器发布,并补上了 delta 字段:

额外修正
- Reset() 现在会清掉奖励背包里的 ParticipantTowerInstanceIds,避免跨局残留。
- TryConsumeCoin(0) 保持原先返回 true 的语义。
2026-03-07 11:41:47 +08:00
SepComet c576224991 CombatNodeComponent 战斗节点功能补全
- 失败逻辑补全:添加基地血量,当血量归0时强制结束关卡
- `CombatInfoForm` 刷新逻辑补全:通过订阅 `CombatCoinChanged/Process/BaseHpChangedEventArgs` 来更新 UI,同时可以避免一点小变动刷新整个 UI
- `CombatSelectForm` 逻辑优化:订阅 `CombatCoinChanged` 来实时更新当前 Coin 是否满足操作条件
2026-03-02 12:06:36 +08:00