Commit Graph

195 Commits

Author SHA1 Message Date
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
walkpan
c3024caef4 refactor: 移除内存面板并添加显示控制标志
在 MissionComp 的 onLoad 方法中初始化 showMemoryPanel 为 false,并调用 removeMemoryPanel 来销毁内存面板节点。
同时,将 update 方法中对 updateMemoryPanel 的调用移除,以停止面板的持续更新。
2026-03-24 22:24:44 +08:00
walkpan
d6a4cfe07e fix: 修复实体视图状态初始化问题并调整关卡参数
- 为 Monster 和 Hero 实体添加 idle 状态初始化,确保视图组件正确显示
- 调用 Hero 视图组件的 init 方法以完成初始化流程
- 调整关卡配置参数:关闭内存面板显示,减少怪物上限和恢复阈值以优化性能
2026-03-24 19:41:39 +08:00
panw
035066752c fix: 收敛战斗内存增长并强化战斗结束清理 2026-03-18 16:46:52 +08:00
panw
941fb50ce2 feat(刷怪): 增加场上怪物数量上限控制机制
- 新增 `maxMonsterCount` 和 `resumeMonsterCount` 属性配置怪物数量阈值
- 添加 `stop_spawn_mon` 状态控制刷怪暂停与恢复
- 实现 `syncMonsterSpawnState` 方法周期性同步怪物数量并自动管理刷怪状态
- 在战斗准备时重置刷怪状态,确保每局开始时刷怪正常
2026-03-18 09:26:47 +08:00
panw
8505522c7e refactor(game): 简化怪物生成逻辑并移除肉鸽配置
- 移除 RogueConfig 及相关动态成长系统
- 简化 Monster.load() 方法参数,直接使用 heroSet 配置
- 移除 MissionMonComp 中的波次生成逻辑和特殊队列
- 清理 MissionComp 中与肉鸽相关的特殊刷怪检查
- 调整 heroSet 配置,移除 buff 字段并统一技能
- 更新技能配置,增加更多攻击特效
2026-03-17 15:59:44 +08:00
panw
5d24dbff29 perf: 优化战斗系统内存与性能,增加对象池限制与内存监控面板
- 为Skill和Monster对象池添加最大容量限制(64/24),防止内存泄漏
- 实现DamageQueueComp的环形队列优化,减少数组操作开销
- 在MissionComp中添加内存监控面板,实时显示堆内存、实体数量、对象池状态
- 优化MoveSystem的渲染排序性能,缓存查询结果减少GC压力
- 调整角色控制器UI位置与样式,关闭调试日志减少性能开销
- 战斗结束时自动清理对象池,确保内存可回收
2026-03-16 18:49:43 +08:00
walkpan
6de3a105da refactor(英雄系统): 移除主角特殊逻辑和怪物死亡处理
- 删除 HeroAttrsComp 中的 is_master 字段
- 简化 Hero.load() 方法签名,移除 is_master 和 is_friend 参数
- 移除 MissionComp 中的怪物死亡事件监听和奖励计算逻辑
- 移除 HeroViewComp 中主角复活时恢复怪物行动的逻辑
- 修改 HeroAtkSystem 中复活逻辑,不再区分主角
- 将 MissionHeroComp 中的 CallFriend 事件改为 CallHero,并清理事件监听
- 移除英雄死亡时停止怪物刷新的逻辑,简化阵营判断

这些更改旨在简化英雄系统架构,消除主角与普通英雄之间的特殊处理差异,使系统更加统一和可维护。怪物死亡奖励计算等逻辑被移至其他系统处理。
2026-03-14 13:20:02 +08:00
walkpan
dbe376033d refactor: 移除未使用的代码并优化卡牌获取逻辑
- 删除 MissionCardComp 中未使用的接口定义和注释代码
- 移除 MissionComp 中未实现的英雄死亡、升级和复活相关事件处理
- 重构 CardSet 中的 getCardPoolByLv 和 getCardsByLv 方法,增加类型过滤和等级模式参数
- 清理 MissionComp 中的冗余代码和注释,简化局内数据初始化逻辑
2026-03-14 09:09:47 +08:00
walkpan
c8c3dde2e4 feat(card): 新增卡牌系统核心组件与配置
- 新增 CardComp 组件用于卡牌视图展示
- 新增 CardSet 配置文件,包含卡牌类型、种类枚举和完整卡池配置
- 重构 HSkillComp 组件,优化技能调试面板布局和交互逻辑
- 更新 MissionCardComp 组件,移除旧卡牌类型依赖
- 调整 GameSet 配置文件,移除 CardType 和 CardKind 枚举
- 更新卡牌预制体结构,优化 UI 布局和组件绑定
- 新增特殊卡牌效果系统,支持抽英雄和重复使用等特殊能力
- 实现卡牌按权重抽取算法和卡池等级管理机制
2026-03-13 23:15:21 +08:00
walkpan
bbcee36dec refactor: 移除关卡奖励触发逻辑与经验计算
- 删除通过 getLevelRewardType 触发不同类型奖励事件的复杂逻辑
- 移除战斗后基于怪物UUID和等级的经验值计算
- 简化 call_cards 方法,使其为空实现
2026-03-11 19:12:06 +08:00
panw
b354c7ed9a ui 基本完成 ,现在开始编程 2026-03-11 16:01:31 +08:00
panw
b70ac53f82 feat(升级奖励): 修改属性选择触发逻辑,改为通过卡片奖励触发
移除英雄升级时自动触发属性选择事件,改为在特定等级通过奖励卡片触发。调整 CardSet 配置,在更多等级提供属性卡片奖励,使属性成长更符合游戏节奏。
2026-02-06 15:39:21 +08:00
panw
b85b9d8655 feat(skill): 新增死亡动画及预制体资源
添加 dead.prefab 预制体及其关联的 dead.anim 动画文件,用于角色死亡时的技能表现。
2026-02-05 16:16:05 +08:00
walkpan
30ca0baabc fix(奖励): 修复等级奖励类型获取逻辑并添加空值检查
- 调整 getLevelRewardType 函数,仅在特定等级返回天赋类型,其他等级返回 null
- 在 MissionComp.call_cards 中添加奖励类型空值检查,避免无效调用
- 为多个预制体组件统一添加 debugMode 默认值
2026-02-04 20:31:40 +08:00
walkpan
b9e9527375 refactor: 移动 getLevelRewardType 函数至 CardSet 模块
将获取等级奖励类型的函数从 GameSet 模块移至更相关的 CardSet 模块,以提高代码的组织性和模块内聚性。
2026-02-04 20:25:24 +08:00
panw
82f7c3085b fix: 将怪物经验奖励提升为5倍
修复了击杀怪物时获得的经验值过低的问题,将经验奖励从原本的1倍提升至5倍,以改善玩家升级体验。
2026-02-04 16:46:20 +08:00
panw
c76a31593f refactor: 移除未使用的游戏数据字段以简化状态管理
- 删除 SingletonModuleComp 中的 meat、exp、monsters 等未使用字段
- 移除 MissionComp 中的 chou_gold 和 lvup_gold 初始化
- 保留核心游戏状态字段,减少内存占用和维护复杂度
2026-02-04 09:16:28 +08:00
panw
3a8f015a78 refactor: 移除调试日志并统一使用日志工具
- 删除多个文件中的 console.log/console.warn/console.error 调试输出
- 将日志输出统一替换为 mLogger 工具,支持调试模式控制
- 清理注释掉的调试代码和空方法体
2026-02-03 16:49:24 +08:00
panw
147131d3c2 refactor: 移除全局主角引用,改用ECS查询定位主角实体
- 移除 SingletonModuleComp 中的 role 字段及相关设置
- 在 MissionComp 中移除重置 role 的代码
- 修改 Hero 类的销毁方法,不再清理 role 引用
- 在 MissionCardComp 中通过 HeroMasterComp 查询来定位主角实体
- 增加详细调试日志以追踪天赋、技能等组件的添加过程
2026-02-03 15:56:22 +08:00
panw
63dd22fb88 refactor: 重命名Logger类并增加错误日志方法
- 将Logger类重命名为mLogger以符合命名规范
- 新增error方法用于统一错误输出
- 在多个组件中替换console.log/warn/error为mLogger的对应方法
- 为多个组件添加debugMode属性以控制模块级日志开关
- 新增HeroMasterComp组件框架
2026-02-03 14:40:02 +08:00
panw
d40cb26819 feat: 添加主角实体引用并确保跨局重置
在 SingletonModuleComp 中添加 role 字段存储主角实体引用,并在 MissionComp 任务开始时重置引用,在 Hero 销毁时清理引用。避免跨局数据残留导致引用错误。
2026-02-02 16:56:05 +08:00
panw
afe659b0fc feat(刷怪): 添加特殊怪物定时刷怪机制
- 在 MissionComp 中添加特殊刷怪检查,根据时间表触发精英/Boss
- MissionMonComp 监听刷怪事件,将特殊怪物插入队列头部优先生成
- 调整刷怪配置,移除随机刷怪中的精英/Boss,改为固定时间生成
- 降低同屏怪物数量,提高单体质量,优化游戏节奏
2026-01-30 16:51:08 +08:00
panw
9ae9324c8b feat(地图): 启用药水卡牌触发商店打开事件 2026-01-30 15:34:23 +08:00
panw
4630667a54 feat: 新增属性选择事件并调整关卡奖励逻辑
- 在 GameEvent 枚举中添加 AttrSelect 事件
- 修改 MissionComp.call_cards 方法,默认每级都触发属性选择事件
- 移除药水奖励类型对应的事件分发,将其注释保留
- 在 MissionCardComp 中注册并处理 AttrSelect 事件,将其加入事件队列
2026-01-30 15:34:14 +08:00
panw
624c8a6c4e feat(rogue): 添加基于等级的怪物经验计算函数
- 新增 calculateMonsterExp 函数,根据怪物ID和等级动态计算经验值
- 替换 MissionComp 中硬编码的经验值逻辑,使用新的计算函数
- 设计经验增长公式以平衡升级曲线,目标让玩家在13分钟左右达到20级
2026-01-28 17:01:29 +08:00