Commit Graph

20 Commits

Author SHA1 Message Date
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 5c7501d4fb 拆分 MapEntity 职责
- TowerSelectionPresenter:选中态 + 攻击范围展示
- CombatSelectInputService:点击事件逻辑(位置计算、点击对象识别、组装 CombatSelectFormUserData)
- TowerPlacementService:建造/升级/销毁与塔映射管理
- MapTopologyService:维护地图拓扑结构与寻路缓存
2026-03-02 11:04:33 +08:00
SepComet 344191a91c 修复旋转问题 + 防御塔范围可视化
- BasicBearingComp 和 ShooterBullet 的旋转由之前的 3D 方式调整为只旋转 Z 轴
- DefenseTowerController 通过 LineRenderer 添加了攻击范围可视化
2026-03-02 10:15:13 +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
SepComet 26dc1a5600 - 调整优化了 CombatNodeComponent 相关实体的生命周期管理
- 总结了一份 CombatNodeComponent 文档 CombatNodeArchitecture.md
2026-02-28 20:20:02 +08:00
SepComet dfd37778b6 - 添加 MainForm
- 添加 ResolutionAdapterComponent 进行屏幕分辨率适配
2026-02-28 18:39:20 +08:00
SepComet 9504c1ca18 添加节点测试 UI 和商店节点(占位)
- TestMenuForm:节点测试 UI
- ShopNodeComponent:商店节点组件,只有 OnInit() 和 StartShop() 两个空方法
2026-02-28 16:28:37 +08:00
SepComet bee7ae381e add TestBoss.prefab 2026-02-28 16:02:02 +08:00
SepComet dd9cedef5f 添加 CombatNodeComponent 及相关类
- CombatNodeComponent:节点组件,负责提取并开始关卡
- CombatScheduler:关卡调度器,负责关卡的生命周期调度
- MapEntity:地图实体,提供地图相关的数据
- Spawner:出生点,负责标记地图上的敌人出生点坐标
- House:基地,负责标记地图上的敌人目标点坐标
2026-02-28 15:44:22 +08:00
SepComet d9c118ace3 补充相关 UI
- 事件 UI:EventForm
    - 选项:OptionItem
- 仓库 UI:RepoForm
    - 组装槽:CombineSlotItem
    - 组件列表槽:RepoItem
2026-02-26 23:29:32 +08:00
SepComet 11e4c1c1f2 P0-02 补齐数据表:组件、敌人、波次、节点、事件、商店商品
- 组件:
    - 底座:Assets\GameMain\DataTables\BaseComp.txt
    - 轴承:Assets\GameMain\DataTables\BearingComp.txt
    - 枪口:Assets\GameMain\DataTables\MuzzleComp.txt
- 敌人:Assets\GameMain\DataTables\Enemy.txt
- 波次:
    - 关卡:Assets\GameMain\DataTables\Level.txt
    - 关卡阶段(波次):Assets\GameMain\DataTables\LevelPhase.txt
    - 波次条目(波次出怪规则):Assets\GameMain\DataTables\LevelSpawnEntry.txt
- 事件:Assets\GameMain\DataTables\Event.txt
- 商店:Assets\GameMain\DataTables\ShopPrice.txt
2026-02-26 21:36:29 +08:00
SepComet 4daefa17d5 init 2026-02-26 13:21:43 +08:00