SepComet
|
f67888a8da
|
拆分 UIController 组装 Context 职责 + 描述文本滚动展示
|
2026-03-12 16:45:20 +08:00 |
SepComet
|
4962b98714
|
重构
- 统一 ItemDescForm/RewardItem/GoodsItem 的描述格式
- 减少组件属性的 Clone 数量,目前只在合并仓库、组装防御塔时才进行复制
- 删除先前留下的冗余 fallback 代码
|
2026-03-12 15:58:14 +08:00 |
SepComet
|
8c8f786013
|
S5 finish
|
2026-03-11 17:24:15 +08:00 |
SepComet
|
9de2e50262
|
S4-07 process 1
|
2026-03-11 10:18:14 +08:00 |
SepComet
|
34ef001ef3
|
- S4-03 | 先固化 Tag 系统设计与首发范围
- S4-04 | 实现组件实例 Tag 的统一生成入口
- S4-05 | 实现组塔后的 Tag 汇总与展示入口
|
2026-03-09 21:06:43 +08:00 |
SepComet
|
2d09b01c55
|
fix
- TowerSelectItem 显示问题
- CombatSelectForm 不同分辨率的适配
|
2026-03-09 19:59:11 +08:00 |
SepComet
|
548bc77ba6
|
规范类命名
|
2026-03-08 17:00:21 +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
|
eb818e6295
|
- 添加 CombatFailedState 执行路径
- CombatInfoForm 测试异常方法
|
2026-03-07 18:45:25 +08:00 |
SepComet
|
3badbe9212
|
文件迁移
|
2026-03-07 18:26:28 +08:00 |
SepComet
|
ab7c7172b8
|
refactor 6:
- CombatInfoFormUseCase.cs 改成回调驱动:
- 不再直接读 GameEntry.CombatNode
- 由 CombatLoadSession.cs 在打开 CombatInfoForm 前注入 modelProvider 和 TryEndCombat 回调
- CombatSelectFormUseCase.cs 的默认 coin provider 改成返回 0,不再偷偷 fallback 到 GameEntry.CombatNode
- CombatFinishFormUseCase.cs 去掉了未准备 summary 时对 GameEntry.CombatNode 的兜底读取
- MapData.cs 进一步补充了战斗初始快照:
- InventorySnapshot
- ParticipantTowerSnapshot
- CombatLoadingState.cs 现在会把这些背包/参战塔快照也一起打进 MapData
- MapEntity.cs 配置建塔面板时不再直接读 PlayerInventory,改为用 MapData 里的快照
|
2026-03-07 15:22:24 +08:00 |
SepComet
|
8a478982f8
|
补充参战防御塔进入战斗逻辑
- 将 Inventory 中参战的防御塔数据传递到 CombatSelectForm 中
- 为防御塔的图标展示添加 TowerRepoItem 与 TowerIconArea 适配防御塔的三层 Image
|
2026-03-05 13:44:49 +08:00 |
SepComet
|
9db9aeabcd
|
重构
- 重构 `RepoItem`,统一点击事件
- 重构 `PlayerInventoryComponent`:
- `PlayerInventoryStateStore`:状态与库存写模型
- `PlayerInventoryTowerAssemblyService`:炮塔组装域
- `PlayerInventoryTowerRosterService`:编队/耐久域
- `InventoryParticipantUtility`/`InventoryCloneUtility`/`InventorySeedUtility`:通用工具类
|
2026-03-04 22:04:51 +08:00 |
SepComet
|
a62309e8c1
|
添加参战防御塔功能(UI)
|
2026-03-04 20:36:05 +08:00 |
SepComet
|
298345fa17
|
为 RepoItem 添加背景耐久变色
|
2026-03-04 19:17:13 +08:00 |
SepComet
|
1e5803f4c5
|
补全防御塔组装与介绍描述功能
- RepoForm.CombineArea:防御塔组装,直接继承所有组件的属性
- ItemDescUtility:根据属性构建不同的 ItemDescForm 的文本
|
2026-03-04 18:17:10 +08:00 |
SepComet
|
e12d2e73b2
|
补全 UI 设计
- `ItemDescForm` 道具详细信息面板,目前还未添加 DescText 内容的赋值
- `RepoForm` 道具入槽逻辑调整,为了适应 `ItemDescForm` 的点击打开逻辑,点击道具自动匹配槽位改成拖动道具到相应槽位
- 添加了一系列图片素材
|
2026-03-04 12:47:20 +08:00 |
SepComet
|
3e52a4df55
|
添加“奖励 3 选 1”UI
- RewardSelectForm:其中包括 3 个可选的 RewardItem ,刷新和放弃按钮
- 应用战斗节点基地生命产生的额外事件
|
2026-03-02 21:42:27 +08:00 |
SepComet
|
daba9cbdf9
|
仓库组件 + 防御塔升级
- `PlayerInventoryComponent`:玩家库存组件,收集金币/组件/防御塔等道具
- 补全防御塔的升级逻辑,最高 5 级
|
2026-03-02 19:50:12 +08:00 |
SepComet
|
5ba94828a8
|
补全 `CombatNode` 逻辑 + 重构 `EnemyManager`
- 添加了关卡内的难度系数与掉落
- 难度系数:每循环一轮波次敌人血量翻倍
- 道具掉落:按照掉落概率曲线根据波次计算当前爆率,并从新增的道具池里选择道具
- `CombatResourceManager`:统一维护关卡内资源状态(硬币/金币/道具掉落)
- 重构 `EnemyManager`:
- `EnemyManager`:编排子服务,不承载具体业务细节
- `EnemySpawnDirector`:管理刷怪时序
- `SpawnerResolver`:管理出生点与路径
- `EnemyLifecycleTracker`:追踪敌人生命周期
- `EnemyConfigService`:管理敌人配置与倍率
|
2026-03-02 17:23:34 +08:00 |
SepComet
|
c576224991
|
CombatNodeComponent 战斗节点功能补全
- 失败逻辑补全:添加基地血量,当血量归0时强制结束关卡
- `CombatInfoForm` 刷新逻辑补全:通过订阅 `CombatCoinChanged/Process/BaseHpChangedEventArgs` 来更新 UI,同时可以避免一点小变动刷新整个 UI
- `CombatSelectForm` 逻辑优化:订阅 `CombatCoinChanged` 来实时更新当前 Coin 是否满足操作条件
|
2026-03-02 12:06:36 +08:00 |
SepComet
|
564817d752
|
CombatNode 相关逻辑补充
- CombatFinishForm:战斗节点的结算页面(杀死的敌人、获得的金币、获得的道具)
- CombatSelectForm:战斗节点建造防御塔的选择 UI 以及对防御塔进行操作的 UI(只实现了建造逻辑,在 MapEntity 里做射线检测)
- 构建了基本的防御塔三组件(ShooterMuzzleComp/BasicBearingComp/BasicBaseComp)和防御塔主控(DefenseTowerController)以及相应的实体类(DefenseTowerEntity)
|
2026-03-01 23:11:52 +08:00 |
SepComet
|
92cca14503
|
refactor & fix
- 将 `CombatScheduler` 的职责分散到 3 个类中
- `PhaseLoopRuntime`:负责关卡各波次的调度
- `CombatLoadSession`:负责地图与 UI 等资源的加载
- `CombatEventBridge`:负责相关事件的处理
- 统一了战斗的命名为 `Combat`
- 调整了各个地图的坐标,使其位于摄像头中心
- 新增了 CombatInfoForm 展示战斗内的信息
- 补充了循环执行 LevelPhase,手动结束战斗的逻辑
|
2026-03-01 13:15:53 +08:00 |