Commit Graph

220 Commits

Author SHA1 Message Date
pan
27ffdaaf87 refactor: 重构技能弹窗系统,移除冗余技能池逻辑
1.  删除SkillBoxCardConfig相关类型、技能池配置和抽卡函数
2.  移除技能弹窗的刷新次数持久化逻辑与UI
3.  简化MissSkillsComp、SkillBoxComp的技能处理流程
4.  统一技能卡的添加和初始化逻辑,移除config专用初始化流程
5.  调整MissionCardComp的波次技能弹窗触发逻辑
6.  清理CardComp中冗余的技能描述缓存代码
7.  修正UIConfig中SkillBox预制体路径命名
2026-06-03 17:24:22 +08:00
pan
e76cba7933 feat(map): 新增固定波次技能三选一弹窗系统
1.  新增MSkillBoxComp弹窗组件,实现固定波次触发的技能卡选择功能
2.  新增SkillBoxCardConfig配置与SkillBoxPool技能池,支持按波次配置技能
3.  重构MissionCardComp,将技能卡抽取改为固定波次弹窗触发
4.  扩展SingletonModuleComp与MissionComp,添加技能刷新次数持久化逻辑
5.  优化MissSkillsComp,新增SkillBox专属技能加载流程
6.  修复SkillBoxComp,支持自定义技能参数覆盖
7.  调整UIConfig与CardSet配置,适配新的技能卡流程
2026-06-03 16:36:22 +08:00
pan
55c277016d refactor: 清理废弃资源并优化卡牌相关逻辑
1.  删除废弃的notify.prefab和TalentSet.ts.meta文件
2.  新增MSkillBox预制体资源
3.  优化MissionCardComp抽卡按钮显示逻辑
4.  格式化CardComp.ts代码格式与变量声明
5.  优化MissionComp.ts代码格式与事件绑定
6.  更新mission.prefab布局添加技能槽位
2026-06-03 14:39:31 +08:00
walkpan
fd60191324 refactor(skill): 调整技能触发枚举的存放位置与使用方式
将SkillTriggerType枚举从GameEvent.ts迁移到heroSet.ts,统一管理技能触发相关配置,同时更新所有引用该枚举的文件路径,优化代码结构与维护性
2026-05-24 23:38:09 +08:00
walkpan
5cacfee288 chore: 调整怪物数值与波次配置,优化游戏爽感与难度平衡
1.  调整MissionComp中怪物上限与恢复阈值,提升刷怪容错空间
2.  下调全基础怪物属性并调整注释,降低初期怪物强度,同时调整BOSS属性降低其压力
3.  更新MonsterStats与TierConfigs,调整怪物消耗、预算与生成数量
4.  调整各波次模板的怪物生成数量,优化战斗体验
5.  调整自适应刷怪的最大填充比例,提升怪物生成效率
6.  更新部分配置注释,补充设计说明
2026-05-23 22:06:46 +08:00
walkpan
92836c14b6 feat(map,economy): 重做游戏经济与卡牌平衡系统
本次提交重构了英雄出售、抽卡、波次金币的数值体系:
1. 调整英雄出售价格按等级计算,1/2/3级分别为3/10/25金币
2. 修改抽卡刷新费用为2,初始金币调整为10
3. 重做波次金币公式,基础收益改为10,每波增长4
4. 调整卡池卡牌消耗与特殊卡牌的定价
5. 优化卡牌抽取消耗的计算逻辑,使用指数增长替代线性计算
2026-05-23 19:03:48 +08:00
panw
654e39ff5b refactor(MissionHeroComp): 移除闲置的驻场技能总加成计算方法 2026-05-21 16:20:54 +08:00
panw
fc3f4d7375 refactor(skill): 重构技能触发逻辑,提取统一工具类
将分散在Hero、Mon、HeroAtkSystem、SCastSystem、MissionComp中的技能触发代码统一封装,集中处理触发次数加成、实体合法性校验与技能事件派发,同时新增SkillTriggerType枚举统一管理技能触发类型,简化业务调用并消除重复模板代码。
2026-05-21 11:10:27 +08:00
panw
bbd3e01ae5 refactor(map): 重构局内经济系统,统一封装金币操作逻辑
新建MissionEconomy类作为局内经济统一管理入口,整合原分散在HInfoComp、MissionComp、CardComp、MissionCardComp中的金币计算、消费、收益统计逻辑,移除各组件中重复的getMissionCoin、setMissionCoin、getRefreshCost等工具方法,统一维护评分系统的金币统计,提升代码可维护性。
2026-05-21 09:51:32 +08:00
walkpan
f515feda7b chore(map): 调整关卡波次上限为15波并完善怪物队列检测
1.  将显示的波次文字从30波改为15波
2.  修改通关判定条件为当前波次达到15波
3.  新增待刷新怪物数量的状态跟踪
4.  完善怪物全灭的判定逻辑,加入待刷新队列检测
5.  移除了测试用的ts和js脚本文件
6.  添加了怪物生成相关的调试日志
2026-05-15 22:24:29 +08:00
walkpan
8d61c67c1d refactor(map): 重构关卡刷怪与计时逻辑,适配30波新流程
1. 替换原固定战斗倒计时为正向计时clearTime
2. 移除旧波次配置,改用spawningEngine生成自适应怪物
3. 将波次上限从20调整为30,更新对应判断逻辑
4. 实现增量分批刷怪和自适应难度调整
5. 重置战斗状态时重置新引擎实例
2026-05-15 13:46:27 +08:00
walkpan
e3a9d447ba fix(map): 修复任务界面动画启停逻辑异常
调整了MissionHomeComp和MissionComp中的地图动画启停代码,将多余空行移除并修正了调用时机,确保界面切换和销毁时动画状态正确。
2026-05-13 23:45:38 +08:00
panw
2443dfce85 refactor(map): 为所有组件的onDestroy添加父类调用
统一修复组件销毁时未调用父类生命周期方法的问题,确保资源正确释放
2026-05-13 16:03:53 +08:00
walkpan
e7075004fe feat(monster&spawn): 新增飞行怪物支持,重构怪物移动与刷怪系统
抽离MonMoveComp拆分怪物移动逻辑,让MoveComp仅负责英雄移动
新增Fly和FlyBoss怪物类型,配置三层飞行轨道支持空中怪物
重写波次刷怪逻辑,移除固定5槽限制,按轨道自由排布怪物
将怪物生成上限与恢复阈值从5/3调整为50/30
优化渲染排序逻辑,为飞行怪添加持续浮动动画
移除跨波怪物属性继承,波次切换时自动清理残留怪物
2026-05-12 12:23:37 +08:00
panw
38f4a1f47d fix(ECS): 延迟初始化查询匹配器并添加空值检查
避免在组件重置后访问未初始化的匹配器,将匹配器的初始化移至 onLoad 方法,并在清理和重置逻辑中添加空值保护,防止运行时错误。
2026-05-08 16:02:50 +08:00
panw
cc60ebf332 fix(任务组件): 修复PhaseTime可能未初始化的空指针异常
在切换任务阶段时,如果PhaseTime尚未初始化,调用reset方法会导致空指针异常。同样在组件销毁时也需要安全地清理PhaseTime。

- 在data_init中确保PhaseTime被正确初始化
- 在setPhase方法中添加空值检查
- 在reset方法中安全销毁节点并清理PhaseTime引用
2026-05-08 15:51:04 +08:00
panw
64168e576f fix(mission): 修复组件生命周期与节点安全访问问题
- 移除 MissionCardComp.onLoad 中自动触发的 onMissionStart,改为由 MissionComp 通过 scheduleOnce 事件驱动,确保组件初始化顺序
- 在设置节点 active 属性前增加节点有效性检查,避免节点已销毁时访问导致的错误
- 在更新计时器 UI 时增加节点和组件存在性检查,防止空引用异常
2026-05-08 15:09:06 +08:00
panw
07aec09283 fix: 修复组件销毁时事件解绑和空引用问题并添加任务界面
- 在多个组件的onDestroy方法中添加节点有效性检查,防止无效节点上解绑事件
- 修复MissionComp中任务启动逻辑,改为通过UI打开方式触发MissionStart事件
- 添加新的任务界面(UIID.Mission)及相关配置
- 修复MissionCardComp中Map未初始化导致的空引用问题
- 优化按钮事件绑定和解绑逻辑,增加空值检查
2026-05-08 14:14:38 +08:00
walkpan
b588fd06a0 feat(评分系统): 实现多维度游戏评分统计与结算
- 扩展 GameScoreStats 数据结构,新增战绩、输出、防御、构建和效率五个维度的统计字段
- 在战斗、治疗、购卡、刷新等关键节点实时采集评分数据
- 实现评分数据重置机制,确保每局数据独立
- 重构总分计算逻辑,采用五维加权评分模型
- 新增初始金币收入统计,完善资源利用效率评估
2026-04-25 21:52:59 +08:00
panw
5dfc790412 fix(地图): 修复第一波怪物到来时错误进入战斗结束阶段的问题
第一波怪物到来时不应进入 BattleEnd 阶段,因为不存在"上一波"需要结束。现在第一波会直接显示波次提示动画,避免被加载界面遮挡。
2026-04-24 09:45:22 +08:00
panw
a039324fbc fix(ui): 调整任务界面布局并优化Boss波次计时显示
- 调整 role_controller.prefab 中多个节点的位置、缩放和文本组件尺寸,优化界面布局
- 修改任务组件逻辑,在Boss波次时显示无限时间符号"∞"并暂停倒计时
- 更新文本字体大小、对齐方式和溢出设置,改善视觉表现
2026-04-24 09:33:04 +08:00
panw
cfd0faa38c fix: 修正阶段切换动画触发条件与目标节点
调整任务阶段切换时的动画表现,仅在进入战斗阶段时触发缩放动画。
将动画目标节点从 phaseNode 改为 time_node,并调整缩放比例以优化视觉反馈。
2026-04-24 09:25:36 +08:00
panw
c20be9f17b feat(ui): 优化任务界面时间显示和阶段提示动画
- 移除时间显示中的波次前缀,仅保留分钟和秒数
- 调整阶段提示动画的激活时机,避免首次显示异常
- 修复阶段切换时的文本显示逻辑,显示当前波次进度
- 删除已废弃的 tip.prefab 资源文件
2026-04-24 09:25:10 +08:00
walkpan
42d1ca5bd5 feat(gameplay): 调整备战期经济和卡牌配置
- 将备战期金币奖励改为固定25(从第2波开始),移除随波次增长逻辑
- 提高初始金币至11,降低英雄最高等级至1
- 统一卡牌成本为10,简化经济系统
2026-04-23 22:27:33 +08:00
walkpan
60352af998 feat(关卡): 添加阶段切换提示动画
新增 tip.prefab 资源作为阶段提示栏,在 MissionComp 中实现 playTooltipAnim 方法。
当关卡阶段切换至特定状态(如胜利、失败等)时,播放从右侧飞入、中央停留、左侧飞出的动感动画,提升阶段切换的视觉反馈和游戏体验。
2026-04-23 20:47:04 +08:00
panw
5ae4c8fcd0 fix(hero): 修复复活后治疗未重置复活计数的问题并支持配置复活恢复百分比
- 在MissionComp中,英雄被治疗后重置复活计数,防止下回合无法复活
- 在HeroAtkSystem中,从技能配置读取复活恢复生命值百分比,替代硬编码的50%
2026-04-23 09:49:38 +08:00
walkpan
100a520df1 feat(技能): 新增驻场技能系统并集成到游戏机制中
- 在英雄配置中增加驻场技能字段,支持八种全局加成类型
- 实现驻场技能数值计算,影响召唤/死亡/战斗开始结束技能触发次数
- 集成驻场技能到金币收益系统,提升每回合和卖出英雄的金币获取
- 为战斗结束治疗添加驻场技能加成,增强队伍恢复效果
2026-04-22 23:14:07 +08:00
panw
8c972adbac feat: 添加回合结束时的英雄恢复配置
在 FightSet 枚举中新增 WAVE_HEAL_RATE 配置项,用于控制每波次结束时英雄的生命恢复比例。随后在 MissionComp 中引用此配置,替换原有的硬编码恢复率 0.7,使恢复逻辑更易于维护和调整。
2026-04-22 21:02:22 +08:00
panw
5f6f6f0bfb fix(战斗): 修正英雄复活与战斗结束时的生命值恢复逻辑
移除英雄复活时直接设置固定生命值的硬编码,改为在战斗结束阶段统一恢复所有英雄(包括墓地英雄)70%最大生命值。这确保了生命值恢复机制的一致性和可维护性,并避免了状态同步问题。
2026-04-22 20:56:44 +08:00
panw
a65a26b0bc feat: 实现战斗准备阶段英雄复活与入场动画
在准备阶段开始时,通过 PhasePrepareStart 事件触发英雄状态重置:
- 死亡英雄复活并恢复满血,播放下落入场动画
- 英雄实体在死亡时移至墓地并禁用碰撞,避免战斗逻辑干扰
- 更新英雄数量UI以反映复活后的状态
2026-04-22 17:05:34 +08:00
panw
24c32549c0 fix(ui): 调整卡牌预制体尺寸并修复开始按钮状态逻辑
- 修正卡牌预制体的局部位置、尺寸模式和内容大小,优化显示效果
- 隐藏预制体中不必要的节点以提升性能
- 重构开始按钮状态控制逻辑,改为根据游戏阶段动态更新按钮的可点击状态
- 移除直接隐藏按钮的代码,确保按钮在准备阶段且未暂停时可点击
2026-04-21 16:57:49 +08:00
panw
73ca2ffbf0 feat(界面): 为任务阶段切换添加缩放动画效果
在任务阶段切换时,为阶段节点添加缩放动画,提升视觉反馈和心流体验。动画在准备开始/结束和战斗开始/结束阶段触发,包含放大和回弹效果。
2026-04-21 15:39:15 +08:00
walkpan
e3c6aad172 refactor(hero): 将触发技能配置从 HeroInfo 移至 HeroAttrsComp
重构英雄和怪物实体的创建逻辑,将 call、dead、fstart、fend、atking、atked 等触发技能配置从静态 HeroInfo 表复制到 HeroAttrsComp 组件实例中。
修改 SCastSystem、HeroAtkSystem、MissionComp 和 HeroViewComp 中的技能触发逻辑,改为直接读取组件内的配置。
这消除了对全局静态配置的依赖,使技能触发逻辑与实体数据更紧密地绑定,提高了代码的内聚性和可维护性。
2026-04-15 22:27:38 +08:00
panw
083a530a72 feat(战斗): 实现战斗时间结束和怪物全灭自动推进波次
- 将战斗时间从600秒改为30秒,便于测试
- 战斗倒计时归零或场上怪物全灭时,自动结束当前波次并进入准备阶段
- 怪物波次切换时,新怪物继承被覆盖旧怪物的部分属性(生命值和攻击力)
- 调整波次初始化逻辑,确保战斗时间在每波开始时重置
- 新增事件 PhasePrepareEnd 和 TimeUpAdvanceWave 协调阶段切换
2026-04-15 15:48:41 +08:00
panw
e87be79792 fix(mission): 修复波次更迭与战斗结束阶段的逻辑冲突
调整 PhaseTime 计时器间隔为 1 秒,避免更新过于频繁。
在 update 逻辑中,当游戏暂停且当前阶段不是 BattleEnd 时才完全停止,确保战斗结束动画能正常播放并自动流转。
修改波次更迭逻辑:新波次到来时先进入 BattleEnd 阶段,播放结束技能后自动进入准备阶段,避免与 open_Victory 的结算流程冲突。
在 open_Victory 中立即标记暂停,以切断波次自动流转。
2026-04-14 17:39:14 +08:00
panw
c0243fc159 feat(map): 添加任务阶段名称的UI显示
在MissionComp中添加阶段名称映射表,并在阶段切换时更新UI显示。
2026-04-14 10:51:11 +08:00
panw
24b27877b0 fix: 调整任务阶段计时器间隔为0.5秒
原2秒间隔过长,导致界面显示更新不及时,影响用户体验。缩短间隔使时间显示更实时。
2026-04-14 10:41:35 +08:00
panw
beff0d624a refactor(map): 使用Timer统一管理状态机阶段计时
替换scheduleOnce为Timer实例,统一管理任务阶段过渡计时
将open_Victory和fight_end的延迟逻辑移至autoNextPhase处理
2026-04-14 10:40:54 +08:00
panw
f678d52ffb feat(map): 引入任务阶段状态机重构战斗流程
- 新增 MissionPhase 枚举定义任务生命周期各阶段
- 实现 changePhase 方法统一管理阶段切换逻辑与事件触发
- 重构 to_fight、enterPreparePhase 等方法使用状态机驱动
- 调整战斗开始/结束逻辑以适配新的阶段状态
- 启用调试模式便于开发阶段问题排查
2026-04-14 09:43:48 +08:00
walkpan
e296ca7d78 feat(战斗): 添加英雄战斗开始/结束技能触发逻辑
在 MissionComp 的 to_fight 和 enterPreparePhase 方法中,分别调用 triggerHeroBattleSkills 来触发英雄配置的战斗开始(fstart)和战斗结束(fend)技能。这通过查询英雄实体并派发 TriggerSkill 事件实现,使英雄能在战斗状态切换时自动释放特定技能。
2026-04-14 08:37:58 +08:00
walkpan
e1c8e92bd8 feat(卡池): 新增基于波次的卡池自动升级功能
- 在 GameEvent 枚举中添加 CardPoolUpgrade 事件
- 在 MissionComp 中配置卡池升级波次并触发升级事件
- 在 MissionCardComp 中监听升级事件并更新卡池等级和UI
- 升级时通过 toast 提示玩家
2026-04-12 22:56:01 +08:00
walkpan
e880613f8f docs: 为游戏地图模块添加详细的代码注释
为游戏地图模块的脚本文件添加全面的注释,说明每个组件的职责、关键设计、依赖关系和使用方式。注释覆盖了英雄信息面板、技能卡槽位管理器、排行榜弹窗、卡牌控制器、背景滚动组件等核心功能模块,提高了代码的可读性和维护性。

同时修复了英雄预制体的激活状态和技能效果预制体的尺寸参数。
2026-04-07 19:00:30 +08:00
walkpan
0490ae51c7 feat(游戏配置): 调整任务初始状态和卡池升级规则
- 删除冗余的 GameConst.ts.meta 文件
- 新增卡池升级每波减免金额常量 CARD_POOL_UPGRADE_DISCOUNT_PER_WAVE
- 任务开始时初始等级设为1,波次从1开始,并给予初始金币
- 卡池升级费用根据已完成的波次进行减免
- 调整加载页面和胜利界面的UI元素位置和样式
2026-03-29 12:29:00 +08:00
walkpan
99ee713a1f fix(mission): 处理英雄全灭时自动结束战斗并优化UI显示
- 在 MissionComp 中新增 handleHeroWipe 方法,当英雄数量为0且处于战斗状态时自动结束战斗
- 修复 MissionCardComp 中卡池等级UI显示逻辑,简化激活条件判断
- 调整 role_controller.prefab 中多个UI元素的布局参数,优化界面显示效果
2026-03-28 18:39:00 +08:00
panw
1ef38ce595 refactor(map): 移除冗余属性装饰器并调整金币数值
清理 MissionComp 中部分属性的 @property 装饰器,这些属性无需在编辑器面板中暴露。
同时调整准备阶段金币奖励的基础值和上限,以平衡游戏经济。
2026-03-27 10:47:38 +08:00
panw
a42d34b003 fix(战斗逻辑): 修复非战斗状态下技能释放和状态同步问题
- 在 SCastSystem 中增加战斗状态检查,防止非战斗时误触发技能
- 同步 mission.in_fight 状态到 vmdata.mission_data.in_fight 以保持数据一致性
- 调整 MissionCardComp 在波次开始时正确布局卡牌槽位并分发卡牌
- 优化游戏地平线位置和 UI 布局参数
2026-03-27 09:31:40 +08:00
walkpan
4e7c580936 fix: 修复新波次开始后游戏阶段状态错误的问题
- 在 MissionComp 中新增波次时调用 enterPreparePhase 进入准备阶段
- 在 MissionMonComp 中检查战斗状态,避免波次结束后继续生成怪物
- 在 MissionCardComp 中监听新波次事件并进入准备阶段
2026-03-27 08:39:07 +08:00
walkpan
76ca17ccdf feat(任务): 增加准备阶段与战斗阶段的切换逻辑
- 在准备阶段显示卡牌面板和开始战斗按钮,并发放金币奖励
- 进入战斗阶段时隐藏卡牌面板并禁用按钮
- 根据波数动态计算准备阶段金币奖励
- 修复金币同步和初始化问题
2026-03-26 23:07:54 +08:00
walkpan
4fdb424bc4 feat(关卡): 实现基于波次的怪物生成系统
- 将时间轴刷怪改为波次制,每波生成固定数量普通怪
- 每若干波生成一个Boss,Boss波次可配置
- 在界面时间显示前添加当前波次信息
- 添加新波次开始时的事件通知机制
- 调整卡片预制件的Y坐标以适应新布局
2026-03-26 21:19:12 +08:00
panw
2a50e79c01 refactor(ui): 调整任务卡组件节点结构与样式
移除未使用的图片资源并清理任务组件冗余节点引用,优化卡牌预制体的布局与字体显示
2026-03-25 14:57:07 +08:00