Commit Graph

1595 Commits

Author SHA1 Message Date
walkpan
bafeccbeef fix: 修复图集GC回收和天赋图标加载异常问题
1. 为uicons图集增加引用计数防止被GC回收导致spriteFrames为空
2. 增加图集spriteFrames存在性校验,避免空引用报错
3. 将天赋图标配置转为字符串类型,防止纯数字配置导致获取失败
2026-05-13 14:31:01 +08:00
walkpan
4305a4461e refactor(hero&mission): 调整英雄站位逻辑与配置
1.  修改游戏地平线Y轴偏移至100,适配新的UI布局
2.  为英雄属性组件添加分路与排位字段并初始化
3.  重构英雄站位分配逻辑,使用新增字段记录英雄位置
4.  更新地图与UI预制体的布局偏移适配新的游戏地平线
2026-05-13 00:15:38 +08:00
walkpan
518f15b1c3 fix(hero view): adjust血条顶部节点偏移量
统一配置血条顶部节点的Y轴偏移参数,区分普通英雄和Boss的血条高度,替换硬编码数值
2026-05-12 20:58:29 +08:00
panw
70c827c24f 修复(英雄移动系统): 完善移动到位判断与位置更新逻辑
修复仅检测X轴到达目标就切换待机状态的问题,新增Y轴位置校验,确保XY轴均到达目标点后才切换为待机状态;修复平滑移动时强制重置Y轴位置的问题,改为仅更新X轴坐标并保留当前Y轴位置;在边界检测和微小位移判断逻辑中加入Y轴状态校验,避免移动中途错误切换状态。
2026-05-12 19:55:42 +08:00
panw
46a62e298c feat(hero movement): 优化编队站位逻辑并添加平滑换路功能
重构英雄编队站位计算逻辑,支持多线路部署;新增平滑换路移动逻辑并控制换路速度;新增换路时触发移动动画的逻辑;移除过时方法,引入BoxSet统一配置游戏线路坐标。
2026-05-12 19:31:15 +08:00
panw
e98ea80a6d chore(game): 调整英雄前向锚点与每路前排容量参数 2026-05-12 18:09:14 +08:00
panw
4ca593107c refactor(config): 调整英雄最大数量和移除无用注释
将HERO_MAX_NUM从3提升至6,删除已无用的攻击距离注释
2026-05-12 16:54:50 +08:00
panw
9b35482b3c refactor(hero): 统一英雄攻击射程配置并优化射程判断
1.  将MoveSystem和MonMoveSystem中的硬编码射程常量替换为HeroDisVal统一配置
2.  调整近战英雄默认攻击射程为120,修正原硬编码数值不一致问题
3.  优化施法射程计算逻辑,复用HeroDisVal配置
4.  为敌人查找逻辑添加同路优先筛选逻辑
5.  修正部分英雄技能的弹道类型为贝塞尔曲线
6.  移除冗余的射程常量定义,统一配置管理
2026-05-12 16:32:38 +08:00
panw
20e9b1d484 refactor(monster&hero): 重构三路分层逻辑与渲染排序
1. 移除飞行怪特殊判定,统一按Y轴高度处理三路渲染
2. 重命名飞行层相关变量为更准确的路次命名
3. 新增英雄自动分路均衡分配逻辑
4. 调整渲染排序规则,按Y轴高度决定上下层显示顺序
5. 修复怪物入场动画与刷怪分路逻辑
2026-05-12 16:32:25 +08:00
panw
86363f50b0 refactor(game/common): 移除SingletonModuleComp中未使用的WxCloudApi导入 2026-05-12 14:55:42 +08:00
walkpan
72feccbcd8 fix: 修复卡牌预制体精灵图集引用并调整怪物移动速度
将所有怪物的移动速度从800调整为100,修复card.prefab中缺失的精灵图集引用
2026-05-12 12:26:41 +08:00
walkpan
e7075004fe feat(monster&spawn): 新增飞行怪物支持,重构怪物移动与刷怪系统
抽离MonMoveComp拆分怪物移动逻辑,让MoveComp仅负责英雄移动
新增Fly和FlyBoss怪物类型,配置三层飞行轨道支持空中怪物
重写波次刷怪逻辑,移除固定5槽限制,按轨道自由排布怪物
将怪物生成上限与恢复阈值从5/3调整为50/30
优化渲染排序逻辑,为飞行怪添加持续浮动动画
移除跨波怪物属性继承,波次切换时自动清理残留怪物
2026-05-12 12:23:37 +08:00
walkpan
5220f5e075 chore(assets/resources/gui): 更新uicons.png图标资源 2026-05-11 19:48:26 +08:00
walkpan
750e86e858 refactor(ui, talent): 重构图标加载逻辑并简化天赋文案
统一使用全局smc.uiconsAtlas缓存图标图集,移除各组件本地的缓存逻辑与变量
简化CardComp、SkillBoxComp的图标更新代码,删除冗余的异步加载步骤
将两处天赋名称简化,去掉多余的“额外”描述
2026-05-11 19:40:39 +08:00
walkpan
bcef8fbc64 perf(talent): 优化天赋系统的图集预加载与缓存逻辑
将天赋图集预加载从天赋界面初始化时提前至游戏公共资源加载阶段,新增全局单例缓存机制替换组件自身的静态缓存,移除冗余的异步加载代码与未使用的导入语句,修正TalentItemComp的初始默认天赋类型为Attack
2026-05-11 16:08:20 +08:00
walkpan
336d7d03db perf(天赋面板): 优化天赋面板加载性能,减少重复资源加载
调整天赋面板预制体的UI布局参数,优化间距、内边距与容器尺寸。将天赋子项的图集加载改为父组件统一预加载并缓存,避免重复加载同一资源。面板添加时先立即刷新UI以保证秒开,后续异步更新所有子项的图标。
2026-05-11 16:05:59 +08:00
walkpan
3dd72c13b4 refactor(talent): 拆分天赋项组件并适配精灵图标
将原TalentsComp内的单个天赋项UI更新逻辑抽离为独立的TalentItemComp组件实现代码解耦,更新天赋配置将emoji图标替换为精灵图集资源键,重构TalentsComp的天赋列表渲染逻辑适配新的组件化方案
2026-05-11 15:34:31 +08:00
walkpan
78e325e8e5 refactor(talent): 天赋升级系统重构为金币消耗模式
- 移除碎片相关配置与数据结构,统一使用 costs 数组配置每级金币消耗
- 优化天赋配置文案,去除名称中的冗余字样,精简属性描述文本
- 清理 SingletonModuleComp 存档及云端同步中的碎片字段
- 修改 TalentsComp 界面逻辑,升级校验、扣除及重置返还全面切换为金币体系
- 调整界面显示细节:等级格式变更为 current/max,消耗仅显示纯数值
2026-05-10 23:59:39 +08:00
panw
dca6ee555c refactor(天赋系统): 将天赋和碎片集合改为完整记录并初始化默认值
- 将 `talents` 和 `talent_fragments` 的类型从 `Partial<Record>` 改为 `Record`,确保所有键始终存在
- 初始化集合对象时,为所有天赋类型和碎片类型设置默认值 0,避免后续的空值检查
- 更新数据恢复逻辑,使用 `Object.assign` 合并云端数据,保留本地初始化的完整结构
- 简化相关业务逻辑代码,移除不必要的空值检查和默认值回退
2026-05-09 10:36:30 +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
panw
c70e3bbb4d feat(ui): 优化任务界面显示逻辑与天赋物品样式
移除 MissionMonComp 中多余的 resetSlotSpawnData 调用
在 MissionHomeComp 中添加地图主节点的显示/隐藏控制
重构 map_rpg 预制体结构,将 maps 节点重命名为 fight 并添加 main 节点
调整 prefab_talent_item 的布局和样式,优化显示效果
2026-05-08 10:28:27 +08:00
walkpan
2ee8eb097e feat(talent): 引入天赋碎片系统替换通用天赋点
- 新增 TalentFragmentType 枚举和 TalentFragmentInfo 接口定义碎片类型
- 在 SingletonModuleComp 中新增 talent_fragments 字段存储碎片库存,talent_points 改为可选字段以兼容旧存档
- 为每个天赋配置 fragmentType 指定升级所需的具体碎片类型
- 修改 TalentsComp 升级逻辑,从消耗天赋点改为扣除对应类型的碎片
- 重置天赋功能现在返还已消耗的碎片而非天赋点
- 更新界面显示,展示碎片库存摘要和具体消耗
2026-05-08 08:38:01 +08:00
walkpan
2eaf85c6f5 feat(英雄属性): 新增暴击伤害属性并支持驻场技能加成
- 在 HeroAttrs 枚举中添加 critical_damage 属性
- 修改 HeroAtkSystem 的暴击伤害计算逻辑,支持基础暴伤和英雄额外暴伤叠加
- 在 Skill 类中设置技能属性时,使用 HeroAttrsComp 的运行时属性获取方法
- 为 FieldSkillSet 添加 HeroFrost、HeroCrit、HeroCritDamage 和 HeroSpeed 驻场技能配置
- 在 HeroAttrsComp 中新增 crit_damage 字段和相关运行时属性计算方法
- 实现驻场技能百分比值统一换算逻辑,支持 0.2 和 20 两种配置写法
- 添加攻速加成机制,通过缩短技能 CD 实现攻击速度提升
2026-05-02 23:50:23 +08:00
walkpan
7a0b3ee74d feat(config): 新增英雄属性相关字段技能类型
- 在 FieldSkillType 枚举中添加 HeroFrost、HeroCrit、HeroCritDamage 和 HeroSpeed 类型,用于支持新的英雄属性加成技能。
- 清理 heros.md 文档中过时的流派设计文档。
2026-05-02 23:50:06 +08:00
walkpan
a61df22aa8 fix: 调整游戏地平线并修复UI元素位置与显示问题
- 将游戏地平线从100调整为0,修正游戏世界坐标基准
- 修复地图中多个物体的Y轴位置偏移问题
- 调整hnode.prefab中按钮尺寸、字体大小和布局边距
- 修复role_controller.prefab中控制面板的激活状态和位置
- 移除prefab中多余的instance和targetOverrides字段
2026-05-02 20:29:08 +08:00
walkpan
e8df6e6e9c fix: 统一英雄攻击距离并移除冗余最小距离逻辑
将不同英雄类型的攻击距离统一调整为720,简化距离计算逻辑。
移除HeroAttrsComp中根据英雄类型动态计算最小攻击距离的代码,因为所有英雄的最小攻击距离现在均为0。
同时更新MoveSystem中的攻击范围判断逻辑,将远程英雄的最大攻击范围从360调整为720以保持一致性。
2026-05-01 21:40:33 +08:00
walkpan
38ea7b6d57 fix(英雄): 调整英雄出生位置和移动间距参数
- 将英雄出生X坐标从-280调整为-320,避免英雄重叠
- 调整英雄/怪物前锚点X坐标,优化战斗站位
- 分离英雄和怪物的同阵营间距参数,分别设置为100和75
- 修复Boss单位间距计算逻辑,确保正确使用阵营基础间距
2026-05-01 21:36:47 +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
walkpan
48b0636d5d 通报风暴英雄流派 2026-05-01 20:44:49 +08:00
panw
e78c7214c2 docs: 新增核心战斗数值与心流模型设计文档
在 heros.md 配置文档中新增“IAA 核心战斗数值与心流模型”章节,详细定义了30秒回合制下的TTK(Time To Kill)逆推公式、各职业基础属性,以及围绕4个Boss节点的指数级心流增长曲线。此设计旨在为游戏数值平衡和玩家体验提供明确的指导框架。
2026-04-29 16:22:19 +08:00
panw
b977dadcbc feat(config): 添加英雄攻击速度分级配置并更新英雄攻击间隔注释
- 新增 AtkSpeedLv 枚举和 AtkSpeedSet 配置对象,定义从“极速”到“很慢”的10个攻击速度等级及其对应冷却时间
- 更新 HeroInfo 接口注释,将原有的固定攻击间隔值替换为对应的速度等级描述,明确不同英雄类型的攻击节奏设计意图
- 修正“辅助英雄”区块的注释错别字(腐竹 -> 辅助)
2026-04-29 15:57:46 +08:00
panw
9213f2989b feat(技能): 重构技能描述模板以支持动态参数
- 将技能描述从硬编码文本改为使用占位符模板,例如 "随机{0}个友方+{1}攻击"
- 更新技能配置中对应的 `info` 字段调用,传递具体数值参数
- 使技能描述能动态显示实际数值,提高可维护性和多语言支持
2026-04-29 10:57:31 +08:00
panw
1589851592 feat(i18n): 扩展翻译函数支持参数替换并更新中文文本
- 修改 I18nString 类以支持参数替换,将阈值等动态值插入翻译文本
- 更新多个配置文件中的翻译调用,传入相应的参数值
- 修正中文语言文件中的导航栏标签文本
2026-04-29 10:39:54 +08:00
panw
0c6ed9159a refactor(i18n): 引入 I18nString 类优化多语言配置定义
将多个配置文件中的多语言字符串从 getter 函数改为使用 I18nString 类实例。
修改 CardSet、HighlightSet、heroSet 和 SkillSet 中的 name、info、title、desc 等字段,
统一使用 t(key) 返回的 I18nString 实例,简化配置对象结构并保持动态语言切换能力。
2026-04-29 09:55:28 +08:00
panw
958aa0a9d2 feat(i18n): 为英雄、技能和成就添加本地化支持
在多个配置文件中引入本地化函数,将硬编码的文本替换为从语言文件获取的键值。
添加了对应的中文字符串到语言文件,支持游戏内多语言切换。
2026-04-29 09:47:32 +08:00
panw
aca8e46eaa fix: 恢复多语言包加载以支持游戏本地化
之前多语言包加载被注释掉,导致游戏无法正确加载本地化资源。现在取消注释以恢复多语言功能,确保玩家能看到正确语言的游戏内容。
2026-04-28 16:36:24 +08:00
panw
b7bd2c612b refactor: 移除未使用的英雄相关数据字段
清理 SingletonModuleComp 中的英雄数组和出战英雄字段,以及相关接口定义。
同时更新 USAGE.md 中的示例代码以反映数据结构变化。
2026-04-28 16:27:15 +08:00
panw
424c9490e7 refactor(game): 重构云端数据同步逻辑并提取公共方法
- 将 `getCloudData` 中的冲突解决逻辑提取为独立的 `syncWithCloudData` 方法
- 修改 `getCloudData` 返回 Promise 以支持调用方等待
- 在 `Initialize` 中统一使用 `gameDataSync.syncWithCloudData` 处理数据合并
- 移除 `Initialize` 中重复的 `isWxClient` 方法,复用 `GameDataSync` 中的实现
- 简化 `loadFromCloud` 方法,将登录后数据处理委托给 `syncWithCloudData`
2026-04-28 16:25:18 +08:00
panw
2a8ab3265d chore: 添加游戏数据同步脚本和配置的元数据文件
- 新增 GameDataSync.ts 的元数据文件,用于 TypeScript 脚本导入管理
- 新增 hearthstone-battlegrounds.md 的元数据文件,用于文本配置文件导入管理
2026-04-28 16:20:54 +08:00
panw
c078c929ce refactor: 移除未使用的引导和英雄添加方法
清理 SingletonModuleComp 中未实际使用的代码,包括 finishGuide、addHero 和 error 方法,以保持代码简洁并减少维护负担。
2026-04-28 16:20:11 +08:00
panw
9baddd5462 feat(数据同步): 重构云端数据同步机制,引入防抖与本地缓存
- 新增 GameDataSync 类,封装数据同步逻辑,支持防抖与时间戳冲突解决
- 重构 SingletonModuleComp 的云端同步方法,统一调用 GameDataSync
- 优化 TalentsComp 天赋升级流程,使用新的同步机制
- 添加本地缓存支持,提升离线体验与数据恢复能力
2026-04-28 16:15:48 +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
panw
1a45c87e70 feat(hero): 为英雄系统添加天赋加成支持
- 在 HeroAttrsComp 中添加 getTalentValue 静态方法,用于获取指定天赋的加成数值
- 定义 TalentType 枚举,明确各类天赋类型
- 调整部分天赋配置,如亡语强化和召唤强化的数值与消耗
- 在 Hero 实体初始化时,根据英雄阵营应用攻击、生命、暴击等天赋加成
- 在召唤技能触发逻辑中,增加召唤强化天赋的额外触发次数
2026-04-28 15:26:47 +08:00
panw
738ecf3bf8 feat(天赋配置): 调整天赋配置以支持新技能机制
- 将"护盾强化"天赋替换为"亡语强化",提供死亡触发技能额外次数
- 新增"召唤强化"天赋,提供召唤触发技能额外次数
- 调整采购、刷新、出售天赋为单级天赋,并提高消耗成本
- 重新分配天赋ID以保持连续性
2026-04-28 15:11:28 +08:00
panw
4a7d74f011 refactor(config): 压缩天赋配置数组格式以提高可读性 2026-04-28 14:45:49 +08:00
panw
fb3b9054dd refactor(talents): 重构天赋数值与消耗配置结构
- 将 TalentInfo 中的 `valuePerLevel` 和 `getValue` 方法替换为显式的 `values` 数组
- 将全局的 `costPerLevel` 数组替换为每个天赋独立的 `costs` 数组
- 更新 TalentsComp 逻辑以使用新的配置结构
2026-04-28 14:45:37 +08:00
walkpan
3b93ffdd7e refactor(game): 将玩家收集数据移出vmdata以优化结构
将 collection 对象从 vmdata 中移出,作为 SingletonModuleComp 的直接属性。这消除了不必要的嵌套层级,使数据访问更直接,并提高了代码可读性。同时更新了 TalentsComp 中所有相关引用,确保功能一致性。
2026-04-28 08:48:23 +08:00