Commit Graph

117 Commits

Author SHA1 Message Date
panw
d72e161150 refactor(map): 优化任务卡片英雄位置刷新逻辑
1. 重构注释排版,统一说明战场节点对应规则
2. 调整英雄位置更新流程:先清理失效单位,再批量处理位置变更,最后统一刷新信息
3. 修复多英雄同帧位置变动可能导致的数据覆盖问题
2026-05-13 17:27:22 +08:00
panw
8f65282af7 fix(map): 修复英雄位置变更时的节点绑定逻辑
根据英雄的lane和lane_index重新计算期望的节点索引,当实际节点不匹配时将英雄卡片转移到正确的节点上,隐藏旧节点并激活新节点绑定最新数据
2026-05-13 17:21:07 +08:00
panw
254b7f3e9e fix(map): correct hero position calculation and loop order
修复了MissionHeroComp的遍历顺序,同时修正了MissionCardComp中的节点索引计算逻辑,匹配实际的视觉排布和MoveComp中的赋值规则,添加了调试日志方便排查位置问题。
2026-05-13 17:13:55 +08:00
panw
626d27e676 refactor(map): 优化英雄信息面板的缓存与复用逻辑
1. 新增缓存预先放置的HInfoComp组件,避免运行时实例化预制体
2. 移除动态创建面板逻辑,改为复用预先摆放的节点
3. 简化ensureHeroInfoPanel逻辑,通过node_index直接获取目标组件
4. 销毁时改为隐藏缓存节点而非直接销毁,保留复用基础
5. 移除冗余的relayoutHeroInfoPanels方法和相关逻辑
2026-05-13 17:13:41 +08:00
panw
2443dfce85 refactor(map): 为所有组件的onDestroy添加父类调用
统一修复组件销毁时未调用父类生命周期方法的问题,确保资源正确释放
2026-05-13 16:03:53 +08:00
walkpan
750e86e858 refactor(ui, talent): 重构图标加载逻辑并简化天赋文案
统一使用全局smc.uiconsAtlas缓存图标图集,移除各组件本地的缓存逻辑与变量
简化CardComp、SkillBoxComp的图标更新代码,删除冗余的异步加载步骤
将两处天赋名称简化,去掉多余的“额外”描述
2026-05-11 19:40:39 +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
baa66b4ece fix: 将英雄最大数量从5调整为3并统一相关逻辑
将游戏配置中的英雄最大数量(HERO_MAX_NUM)从5改为3,以调整游戏平衡性。
更新了SingletonModuleComp和MissionCardComp中相关的英雄数量上限逻辑,确保所有相关代码都使用统一的配置值而非硬编码的数字。
同时添加了两个CSV配置文件(heros.csv和skills.csv)的元数据文件。
2026-05-01 21:36:08 +08:00
panw
95ea36651e feat(天赋系统): 实现天赋效果并应用至相关游戏系统
- 在 MissionCardComp 中应用 RefreshDiscount 天赋以减少刷新消耗
- 在 CardComp 中应用 BuyDiscount 天赋以减少英雄购买消耗
- 在 HInfoComp 中应用 SellBonus 天赋以增加英雄出售收益
- 统一 TalentType 枚举类型,增强类型安全性
- 更新 SingletonModuleComp 中 talents 数据结构以支持类型化
- 修改 HeroAttrsComp.getTalentValue 方法参数类型为 TalentType
2026-04-28 15:34:58 +08:00
walkpan
7427419670 fix: 修复合成规则默认值和进度条组件类型错误
- 将 MissionCardComp 中的合成规则默认值改为从 FightSet 配置读取,避免硬编码
- 修复 VictoryComp 中进度条组件类型错误,将 Sprite 改为 ProgressBar 并更新属性设置
2026-04-25 23:57:38 +08:00
walkpan
b588fd06a0 feat(评分系统): 实现多维度游戏评分统计与结算
- 扩展 GameScoreStats 数据结构,新增战绩、输出、防御、构建和效率五个维度的统计字段
- 在战斗、治疗、购卡、刷新等关键节点实时采集评分数据
- 实现评分数据重置机制,确保每局数据独立
- 重构总分计算逻辑,采用五维加权评分模型
- 新增初始金币收入统计,完善资源利用效率评估
2026-04-25 21:52:59 +08:00
panw
7047ba932e fix(map): 注释掉任务卡片中更新奖池等级UI的调用
更新金币和消耗UI时不再调用updatePoolLvUI方法,该方法可能存在问题或不再需要。
2026-04-24 15:22:23 +08:00
walkpan
cc06adeda1 feat(游戏配置): 调整英雄数量上限并优化抽卡池等级显示
- 将英雄最大数量从3提升至5,增加游戏策略深度
- 移除未使用的金币相关配置项(升级和抽卡金币)
- 重构抽卡池等级显示逻辑:使用预设图片替代文本标签,提升视觉效果
- 添加Widget组件对齐更新,确保UI元素正确显示
- 更新相关资源文件
2026-04-24 13:44:50 +08:00
panw
955465da58 feat(ui): 重构英雄卡AP/HP显示逻辑并调整卡牌布局
- 移除旧的 info_node 引用,改为直接绑定 ap_node 和 hp_node
- 调整卡牌原始定位点位置以优化布局
- 在 prefab 中添加独立的 AP 和 HP 显示节点
- 更新显示逻辑,根据卡牌类型控制 AP/HP 面板的显隐
2026-04-24 10:23:50 +08:00
panw
051342a9c4 feat(ui): 将卡牌槽位从4个调整为3个并更新布局
- 隐藏第四个卡牌槽位,将抽卡逻辑从4张改为3张
- 调整卡牌预制体中的位置和尺寸以适配新布局
- 更新角色控制器UI的宽度和间距设置
- 修改卡牌放大时的位置判定阈值和高度
2026-04-24 10:05:16 +08:00
walkpan
d97e3d8cb9 feat(地图): 在战斗阶段隐藏英雄出售按钮
在战斗阶段自动隐藏英雄信息面板上的出售按钮,避免玩家在战斗过程中误操作出售英雄。通过新增的 setBattlePhase 方法控制按钮显隐,并在任务卡组件中根据战斗状态同步更新所有英雄信息面板。
2026-04-23 22:16:22 +08:00
walkpan
bb6e63756c fix(抽卡): 修复战斗阶段可抽卡及卡牌面板未隐藏的问题
- 战斗开始后隐藏卡牌面板并清空卡牌,而非刷新战斗卡牌
- 在抽卡逻辑开始时检查战斗阶段,阻止战斗时抽卡
- 注释掉卡池中三个特殊刷新卡牌配置
2026-04-23 21:51:08 +08:00
panw
bc226ffd9b fix(地图任务卡): 移除重复的死亡模型检查逻辑
原逻辑中已存在 `isModelAlive()` 检查,`model?.is_dead` 是冗余条件。
移除重复检查以简化代码并保持逻辑一致性。
2026-04-22 17:05:55 +08:00
panw
a65a26b0bc feat: 实现战斗准备阶段英雄复活与入场动画
在准备阶段开始时,通过 PhasePrepareStart 事件触发英雄状态重置:
- 死亡英雄复活并恢复满血,播放下落入场动画
- 英雄实体在死亡时移至墓地并禁用碰撞,避免战斗逻辑干扰
- 更新英雄数量UI以反映复活后的状态
2026-04-22 17:05:34 +08:00
panw
50ff3fd150 feat(卡牌): 调整战斗阶段卡牌逻辑与配置
- 战斗阶段不再隐藏卡牌面板,改为刷新为技能卡
- 移除特殊升级卡,统一刷新卡费用为1并调整权重
- 修复卡牌组件布局参数,确保战斗阶段显示正确
2026-04-21 14:34:30 +08:00
walkpan
0829b0bc9d feat(card): 添加长按放大功能并调整卡牌布局
- 在 CardComp 中实现长按触发卡牌放大,优化触摸交互逻辑
- 调整 MissionCardComp 中卡牌位置数组顺序,修复布局错位
- 修改 card.prefab 中多个 UI 元素的坐标和对齐方式,优化视觉呈现
- 移除卡牌种类标识的显示逻辑,简化卡牌 UI
2026-04-20 23:59:38 +08:00
walkpan
033fd44560 feat(ui): 增加卡牌点击放大功能并调整动画速度
- 点击卡牌可切换放大/缩小状态,放大时显示详细信息并调整位置层级
- 调整技能准备动画的播放速度和时长以优化视觉效果
- 修复技能触发逻辑,为未处理的类型添加默认动画播放
- 在MissionCardComp中记录卡牌原始定位点用于布局管理
2026-04-20 23:36:38 +08:00
walkpan
e1c8e92bd8 feat(卡池): 新增基于波次的卡池自动升级功能
- 在 GameEvent 枚举中添加 CardPoolUpgrade 事件
- 在 MissionComp 中配置卡池升级波次并触发升级事件
- 在 MissionCardComp 中监听升级事件并更新卡池等级和UI
- 升级时通过 toast 提示玩家
2026-04-12 22:56:01 +08:00
walkpan
09f64b0855 feat: 调整游戏难度并优化UI布局
- 降低卡池等级上限和英雄等级上限以简化前期难度
- 重新平衡前四波怪物配置,使难度曲线更平缓
- 移除卡池升级功能并隐藏相关UI按钮
- 调整角色控制器UI元素的位置和尺寸
- 修改加载界面元素的缩放比例
2026-04-12 22:37:00 +08:00
panw
0c21916756 fix(ui): 调整任务卡英雄信息面板的间距和对齐
调整英雄信息面板项间距从130px到135px,并同步更新相关预制体的尺寸和布局参数,以解决显示对齐问题。同时更新ui3.plist中多个精灵的边框设置,优化渲染效果。
2026-04-08 17:07:02 +08:00
panw
32997f0a04 fix: 禁用角色控制器并移除英雄数量动画
- 将角色控制器 prefab 的 _active 设为 false 以禁用该组件
- 注释掉英雄数量增加和拒绝时的动画播放逻辑,避免在英雄已满时触发无效动画
2026-04-08 09:09:05 +08:00
walkpan
72b31037f5 fix(地图): 反转英雄卡牌排序逻辑以匹配渲染顺序
由于 cc.Layout 的节点渲染顺序与之前手动排序逻辑相反,导致英雄卡牌位置错乱。现在将排序规则改为 x 坐标越小(越靠后排)的 index 越小,并移除手动位置计算,完全依赖 Layout 自动排版。
2026-04-08 08:48:09 +08:00
walkpan
81a07bc16c feat: 新增英雄召唤事件并优化UI布局与组件注释
- 在 MissionHeroComp 中召唤英雄后派发 MasterCalled 事件,以更新英雄信息面板
- 调整 hnode.prefab 中多个节点的位置和尺寸,优化界面布局
- 为多个 TypeScript 组件文件添加详细注释,说明职责、关键设计和依赖关系
- 在 MissionCardComp 中完善英雄信息面板的创建、排序和布局逻辑
2026-04-07 19:52:40 +08:00
walkpan
e880613f8f docs: 为游戏地图模块添加详细的代码注释
为游戏地图模块的脚本文件添加全面的注释,说明每个组件的职责、关键设计、依赖关系和使用方式。注释覆盖了英雄信息面板、技能卡槽位管理器、排行榜弹窗、卡牌控制器、背景滚动组件等核心功能模块,提高了代码的可读性和维护性。

同时修复了英雄预制体的激活状态和技能效果预制体的尺寸参数。
2026-04-07 19:00:30 +08:00
walkpan
62b7b9783a feat(map): 新增任务技能面板并优化技能触发逻辑
- 新增 mskills.prefab 作为任务技能容器
- 将 MissSkillsComp 挂载到场景实体层,移除 MissionCardComp 中的引用
- 优化 SkillBoxComp 触发坐标计算,改为基于父节点位置
- 调整技能盒尺寸并添加等级标签显示
- 修复战斗开始时技能触发计时器重置逻辑
2026-04-06 22:09:43 +08:00
walkpan
fa629d71d9 feat(技能): 将技能卡释放逻辑移至独立组件并添加UI显示
- 新增 MissSkillsComp 组件,用于管理场景中释放的技能卡
- 将技能卡释放监听从 MissionHeroComp 移至 MissSkillsComp
- 新增 SkillBoxComp 组件,负责单个技能卡的表现和触发逻辑
- 在 role_controller.prefab 中添加 miss_skill_node 节点引用
- 技能卡现在会在场景中显示图标和剩余回合信息
- 支持即时技能和持续多回合技能的不同触发机制
2026-04-06 19:18:44 +08:00
walkpan
c93ccbcaec feat: 新增指定目标卡池等级抽卡功能并调整UI布局
- 在drawCardsByRule函数中增加targetPoolLv参数,支持强制从指定等级卡池抽卡
- 修改MissionCardComp中刷新英雄卡牌逻辑,使用targetPoolLv替代heroLv参数
- 调整role_controller.prefab中多个UI元素的位置和尺寸
- 将开始按钮文本从"开始"改为"开始战斗"并加宽按钮
2026-04-05 21:12:39 +08:00
walkpan
e1b6c9e654 refactor: 使用标签组件简化卡牌池等级显示逻辑
- 将多个子节点激活控制替换为直接设置 Label 组件的文本
- 移除冗余的节点引用和条件判断
- 添加节点弹出动画以增强视觉反馈
2026-04-05 19:37:28 +08:00
walkpan
c40fbfe4e4 fix: 修正拼写错误并添加升级动画播放逻辑
- 将 `palayBuff` 方法名更正为 `playBuff`
- 在英雄升级时调用 `playAllTime` 方法播放"plus"动画
- 确保动画播放方法在参数为空时安全返回
2026-04-04 09:23:49 +08:00
panw
6e0bceff7c fix: 调整UI元素布局与合并规则默认值
- 在 MissionCardComp 中调整合并规则的默认值和兜底逻辑,使其与 MissionHeroComp 保持一致
- 调整多个 prefab 中 UI 元素的位置、尺寸、字体样式和激活状态,优化界面布局
2026-04-03 10:46:20 +08:00
panw
a63360f493 feat: 引入英雄等级提升机制并重构卡牌等级字段
- 将卡牌配置中的 `lv` 字段重命名为 `pool_lv` 以明确表示池等级
- 新增英雄等级提升概率机制,高池等级抽卡有概率获得高英雄等级卡牌
- 更新相关组件以适配新的字段名和英雄等级逻辑
- 修复事件 payload 中 `card_lv` 到 `pool_lv` 的字段映射
2026-04-02 17:01:33 +08:00
panw
781e88e2d7 feat: 新增卡牌等级系统并调整英雄合成规则
- 在 HeroAttrsComp 中添加 card_lv 属性,用于独立记录卡牌等级
- 修改 Hero 加载逻辑,支持传入 card_lv 参数
- 更新 HInfoComp 的 UI 刷新逻辑,根据英雄等级和卡牌等级显示不同的边框和等级图标
- 调整 MissionHeroComp 的合成规则:所需合成数量从 2 改为 3,最高合成等级从 3 改为 2
- 在召唤队列和合成流程中传递并处理 card_lv 数据,确保卡牌等级在合成过程中得以保留
2026-04-02 16:40:23 +08:00
walkpan
5686adc79d feat(任务卡): 允许在英雄满员时通过合并规则使用英雄卡
当英雄数量达到上限时,检查新英雄卡是否符合合并规则。如果满足相同英雄和等级的数量要求,则允许使用该卡进行合并升级,避免因上限限制而无法使用英雄卡。
2026-04-02 08:11:36 +08:00
panw
5889423db0 fix: 调整战斗边界并修复英雄出界时仍能施法的问题
- 缩小地图左右边界从±420到±360,优化战斗区域
- 增加英雄位置边界检查,出界时禁止施法技能
- 微调任务卡牌界面英雄信息项间距从10减至5
- 修复卡牌预制体缩放值错误(x从1改为-1)
2026-03-31 17:18:30 +08:00
panw
1437a7ee40 feat(ui): 调整英雄信息面板布局和排序逻辑
- 将英雄信息面板从垂直排列改为水平排列,增加间距
- 实现按英雄位置、生成顺序和实体ID的排序逻辑
- 调整相关UI元素的锚点、位置和组件状态
- 更新预制体引用和布局参数以支持新的排列方式
2026-03-31 16:00:28 +08:00
walkpan
d6c2ba6534 feat: 拆分特殊卡类型并实现升级和刷新功能
- 将 CardType.Special 拆分为 SpecialUpgrade 和 SpecialRefresh
- 新增特殊卡使用逻辑:升级功能卡可随机升级场上英雄,刷新功能卡可筛选卡池
- 添加 drawCardsByRule 函数支持按类型、英雄类型和等级抽取卡牌
- 在 MissionCardComp 中处理特殊卡使用事件并更新UI
2026-03-29 21:16:03 +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
walkpan
ddce1208ee fix: 修复任务卡牌池等级显示错误并调整角色控制器UI布局
- 修复 MissionCardComp 中等级节点匹配逻辑,避免因节点命名不一致导致的显示错误
- 调整 role_controller.prefab 中多个UI元素的位置、尺寸和间距,优化布局
2026-03-28 15:01:21 +08:00
panw
09531f7ba2 fix: 修复 onCoinAdd 方法参数处理逻辑
调整事件参数处理方式,确保 payload 正确提取自 args 或 event 参数,以兼容不同调用场景。避免因参数结构不一致导致的硬币数量更新错误。
2026-03-27 10:59:07 +08:00
panw
8c3a142d9f refactor(map): 提取动画方法以消除重复代码
- 将 playButtonPressAnim、playButtonClickAnim 和 playButtonResetAnim 中的动画逻辑提取为通用方法 playNodeScaleTo 和 playNodeScalePop
- 调整 playCoinChangeAnim 以使用新的动画方法,并分别对图标和数字应用动画
- 清理属性声明顺序,移除已弃用的 tooltip 注释
2026-03-27 10:54:45 +08:00
panw
da83c89427 feat(卡牌): 添加金币消耗机制
- 在 CardComp 中检查使用卡牌所需金币,不足时播放反弹动画并提示
- 在 MissionCardComp 中检查刷新卡牌所需金币,不足时提示
- 添加金币获取和设置方法,统一处理金币数值的取整和边界
- 更新 UI 显示逻辑,同时显示金币余额和刷新/升级消耗
- 使用卡牌或刷新时扣除相应金币并发送金币变更事件
2026-03-27 10:38:42 +08:00
panw
a42d34b003 fix(战斗逻辑): 修复非战斗状态下技能释放和状态同步问题
- 在 SCastSystem 中增加战斗状态检查,防止非战斗时误触发技能
- 同步 mission.in_fight 状态到 vmdata.mission_data.in_fight 以保持数据一致性
- 调整 MissionCardComp 在波次开始时正确布局卡牌槽位并分发卡牌
- 优化游戏地平线位置和 UI 布局参数
2026-03-27 09:31:40 +08:00
panw
0b20d773d2 refactor(map): 将任务卡面板隐藏动画由位置移动改为缩放
将战斗阶段卡牌面板的隐藏方式从向下移动改为缩放至零,简化动画逻辑并避免因父节点缩放导致的偏移计算问题。移除不再使用的 cardsBattleHideOffsetY 属性,并缓存卡牌面板的原始缩放比例。
2026-03-27 09:10:57 +08:00