Commit Graph

7 Commits

Author SHA1 Message Date
SepComet 113decb414 S5-01 + S5-02 + S5-03 2026-03-11 15:36:18 +08:00
SepComet 793a87c171 补全 S1 测试
- 调整 CombatNode 正常结束与异常的变量语义,现在是 DidCombatWin 与 Exception
- 补充测试样例
- 完成 S1 目标
2026-03-08 21:10:03 +08:00
SepComet 548bc77ba6 规范类命名 2026-03-08 17:00:21 +08:00
basil 703fd6f540 Refine combat settlement exit flow 2026-03-07 20:09:50 +08:00
SepComet 3ad7d04b47 MapData + Event 解耦已完成一轮收口
- `MapData` 已收口为纯初始化快照,不再承载 coin 写接口委托
- 已新增 `MapEntityLoadContext`
  - 用于把 `MapData` 快照与 coin 命令通道拆开传给地图加载
- `CombatLoadingState` 现在会组装:
  - `MapData`
  - `MapEntityLoadContext`
- `CombatLoadSession` / `EntityExtension.ShowMap(...)` 已切到 `MapEntityLoadContext`
- `MapEntity` 当前通过:
  - `MapEntityLoadContext` 获取初始快照与 coin 命令通道
  - `CombatCoinChangedEventArgs` 同步后续 coin 变化
- 已新增 `MapCombatRuntimeBridge`
  - 收口地图侧 coin 当前值、命令调用与事件订阅
- `MapEntity` 不再自己维护 `_currentCoin` 和 coin 事件订阅样板
2026-03-07 20:00:39 +08:00
SepComet 3badbe9212 文件迁移 2026-03-07 18:26:28 +08:00
SepComet ccb4738b96 refactor 5:
- CombatSettlementFlowService.cs 负责结算上下文构建、基地血量奖励修正、奖励选择准备、奖励追加、结算背包提交、FinishForm 摘要准备。
- CombatSettlementContext.cs 变成独立共享上下文,不再作为 CombatScheduler 内部私有类。
- 状态链改成各司其职:
    - CombatSettlementState.cs 负责结束战斗现场并构建结算上下文。
    - CombatRewardSelectionState.cs 只负责进入奖励选择流程。
    - CombatFinishFormState.cs 只负责提交结算背包并打开 FinishForm。
- CombatScheduler.cs 删除了大块结算/奖励构建细节,保留状态切换、共享运行时和少量桥接回调。
2026-03-07 15:05:59 +08:00