Commit Graph

168 Commits

Author SHA1 Message Date
panw
52ed41bec1 refactor: 统一英雄属性中卡牌等级字段名称为pool_lv
将HeroAttrsComp中的card_lv字段重命名为pool_lv,以更准确地反映其表示英雄池等级的含义。同时更新所有相关引用点,包括HInfoComp的显示逻辑、Hero的加载方法以及MissionHeroCompComp的召唤队列和合成逻辑,确保数据一致性。
2026-04-02 17:36:00 +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
a638f473a0 feat: 新增英雄出售功能并优化UI交互
- 在 Hero 类中添加 removeByEid 静态方法,用于安全移除英雄实体
- 在 HInfoComp 中集成出售按钮逻辑,点击可移除对应英雄并关闭信息面板
- 为 card.prefab 和 hnode.prefab 添加召唤/出售按钮及相关UI组件
- 调整 role_controller.prefab 面板高度并禁用部分组件
- 移除未使用的 hit-flash-white 场景资源文件
- 暂时注释 CardComp 中的触摸事件绑定以进行调试
2026-03-28 12:04:41 +08:00
panw
ccccf025c5 feat: 新增英雄合并配置并优化出生时物理组件禁用逻辑
- 在 MissionHeroComp 中添加 merge_need_count 和 merge_max_lv 配置项,用于控制英雄合并所需数量和最大等级
- 修改英雄合并逻辑,根据配置动态判断合并条件和所需数量
- 优化 Hero 实体出生时的组件禁用逻辑,增加对 RigidBody2D 组件的禁用
2026-03-27 14:57:07 +08:00
panw
6fe91e0104 feat(hero): 添加英雄合并时的移动动画效果
实现英雄合并时的平滑移动动画,避免直接销毁的突兀感。为 Hero 类新增 mergeToBirthAndDestroy 方法,使英雄在销毁前移动到生成点。在 MissionHeroComp 中,合并逻辑改为异步等待动画完成,并添加防重复合并标志。
2026-03-27 14:33:00 +08:00
walkpan
afe11291f1 refactor(英雄管理): 将英雄与金币数据迁移至全局任务数据
- 移除 Hero.ts 中手动维护的 hero_num 计数逻辑
- 在 SingletonModuleComp 的 mission_data 中添加 hero_max_num、hero_extend_max_num 字段
- 重构 MissionCardComp,使其通过 smc.vmdata.mission_data 读写英雄数量、金币等状态
- 新增辅助方法统一数据访问与同步,避免状态分散管理
2026-03-25 23:32:55 +08:00
walkpan
8a151a3922 feat(关卡): 添加英雄数量上限机制
- 在 MissionCardComp 中添加英雄数量显示与上限控制逻辑
- 当英雄数量达到上限时禁止使用英雄卡牌
- 英雄死亡时减少当前英雄计数并刷新显示
- 添加英雄数量变化的动画反馈效果
- 移除 SingletonModuleComp 中未使用的 unlockCoin 字段
2026-03-25 23:04:12 +08:00
panw
de90dadaed feat(ui): 添加战场英雄信息面板并增强主角召唤事件
扩展主角召唤事件,传递更多实体信息供UI系统使用。新增HInfoComp组件作为英雄信息面板基础,并在MissionCardComp中动态生成和管理英雄信息面板,实时显示英雄属性。同时调整相关预制体引用和布局配置。
2026-03-25 17:23:22 +08:00
walkpan
d6a4cfe07e fix: 修复实体视图状态初始化问题并调整关卡参数
- 为 Monster 和 Hero 实体添加 idle 状态初始化,确保视图组件正确显示
- 调用 Hero 视图组件的 init 方法以完成初始化流程
- 调整关卡配置参数:关闭内存面板显示,减少怪物上限和恢复阈值以优化性能
2026-03-24 19:41:39 +08:00
panw
90bf8f7f7c refactor: 合并英雄与怪物的生命周期系统为统一系统
移除 MonLifecycleSystem,将其功能整合至 HeroLifecycleSystem 并重命名为 BattleEntityLifecycleSystem。新系统根据实体的 fac 属性区分英雄与怪物,输出相应的调试日志,消除了重复代码并提高了维护性。
2026-03-24 14:42:40 +08:00
panw
1fa2be19f7 refactor(hero): 优化英雄与怪物实体加载与注释
- 统一英雄与怪物实体加载流程,增强代码可读性与维护性
- 为 Hero.ts 与 Mon.ts 添加详细方法级注释,说明组件职责与关键逻辑
- 在配置文件中将攻击速度(as)注释更新为技能冷却(skills[0].cd),使配置项含义更清晰
- 修复怪物技能等级未随怪物等级提升的问题,使其与英雄逻辑保持一致
- 优化对象池管理,增加容量统计与调试信息
2026-03-24 14:40:04 +08:00
panw
33e549d22c fix: 修复技能冷却时间初始化和治疗特效调用错误
- 将技能初始化时的冷却时间设为0,避免首次使用时需要等待完整冷却
- 修正HeroViewComp中health方法错误调用heathed属性而非方法的问题
2026-03-24 14:29:54 +08:00
panw
382f6d2b32 fix(技能): 修复技能等级计算错误,默认等级从1改为0
将技能相关计算的默认等级从1统一修正为0,确保等级计算逻辑的一致性。具体包括:
- HeroAttrsComp.getSkillLevel() 方法在无效技能ID时返回0
- Hero实体构建技能模型时使用Math.max确保最低等级为0
- SDataCom组件初始化skill_lv为0
- Skill实体加载时skill_lv参数默认值改为0,计算时使用Math.max(0, skill_lv)
2026-03-24 10:25:12 +08:00
walkpan
849a8aeaef feat(英雄/怪物): 添加受击倒地特效
- 新增 down.prefab 和 down.anim 资源文件
- 在 Hero 和 Monster 的落地逻辑中调用 playEnd("down") 播放特效
- 优化 HeroViewComp 中特效生成逻辑,移除冗余的组件销毁操作
2026-03-23 20:23:37 +08:00
walkpan
a590c34fb6 feat(技能): 根据英雄等级计算技能等级并移除技能释放次数字段
在 Hero.ts 中为技能模型增加等级计算,技能最终等级为初始等级加上英雄等级减2(因两者均从1开始计数)。同时从 SkillSet.ts 的 SkillConfig 接口及所有技能配置中移除已不再使用的 `num` 字段。
2026-03-22 19:43:03 +08:00
walkpan
0f56591376 refactor(skill): 重构技能数据结构并支持技能等级
- 将 HeroAttrsComp 中的技能数组和独立 CD 映射重构为统一的 HSkillInfo 对象记录
- 在 SDataCom 中新增 skill_lv 字段,并在 Skill 加载时传入技能等级
- 更新 Hero 和 Monster 初始化逻辑以适配新的技能数据结构
- 修改 SCastSystem 以传递技能等级并影响技能效果
- 更新 heroSet 配置,将 skills 字段类型改为 Record<number, HSkillInfo>
2026-03-22 16:25:46 +08:00
walkpan
be4884d28a refactor(英雄技能): 重构技能系统以支持多技能和独立冷却
- 将 HeroAttrsComp 中的单一攻击/技能ID重构为技能数组,支持多个技能
- 为每个技能添加独立的冷却计时和最大冷却时间
- 修改 SCastSystem 以支持多技能选择和冷却检查
- 更新 HeroViewComp 显示当前展示技能的冷却进度
- 统一英雄和怪物初始化技能的方式,使用 setSkills 方法
- 移除 heroSet 配置中的 as/ss 字段,改为 cds 数组
- 修改 Skill 实体加载,传递 HeroAttrsComp 用于技能伤害计算
2026-03-22 13:35:25 +08:00
panw
8d059a28d4 fix(hero): 限制英雄等级并调整尺寸随等级变化
将英雄等级上限限制为3级,避免超出预期范围。
同时调整英雄尺寸随等级线性增长,每级增加10%大小。
2026-03-20 15:44:40 +08:00
panw
35af88d570 feat: 重构英雄与怪物系统并添加等级机制
- 调整怪物配置映射,将兽人系列怪物ID从5xxx改为6xxx
- 为英雄系统添加等级支持,英雄属性随等级线性增长
- 重构卡牌系统,区分英雄卡和功能卡显示逻辑
- 重新组织英雄配置数据,按职业分类并添加等级字段
- 扩展技能配置,为各等级添加对应技能变体
- 简化特殊卡配置结构,添加名称和描述字段
2026-03-20 10:54:29 +08:00
walkpan
b241be0314 refactor(hero): 移除英雄等级、简化配置并删除HInfoComp组件
- 删除 HInfoComp.ts 及其 meta 文件,移除英雄信息界面组件
- 从 Hero 和 Monster 类中移除 back_chance 属性设置
- 将 Hero 类中的等级初始化为固定值 1,移除从配置读取的逻辑
- 简化 heroSet.ts 配置:移除 AttrSet、getHeroList、getMonList、MonSet、HeroConf、JobUpConf 等配置项
- 优化 heroInfo 接口:将 icon、kind、lv 字段设为可选,移除已删除的配置引用
- 扩展英雄列表,新增 5008-5015 共8个英雄配置
- 移除与 smc 模块的耦合,简化英雄选择逻辑
2026-03-19 23:59:16 +08:00
panw
1522e93585 feat: 为英雄和怪物添加下落入场动画
- 在 MissionHeroComp 和 MissionMonComp 中定义下落高度常量
- 修改英雄和怪物的加载方法,接受目标落地高度参数
- 使用 Tween 实现平滑下落动画,下落距离越大持续时间越长
- 下落期间禁用移动和碰撞器,落地后恢复
- 为怪物添加随机下落高度偏移,减轻重叠感
2026-03-19 09:11:11 +08:00
panw
95edd6fd6d refactor: 简化攻击距离与职业类型系统
- 移除 SkillRange 枚举和 SkillDisVal 常量,统一使用 HType 表示攻击距离
- 删除 heroInfo 中的 rangeType 字段,直接使用 type 字段
- 更新英雄配置,将职业类型简化为近战、中程、远程三类
- 移除怪物属性中的 mp 和 def 字段,简化属性计算
- 更新移动和技能距离计算逻辑,直接使用 HType 判断
2026-03-16 15:54:49 +08:00
panw
11e6f49479 refactor(战斗): 重构英雄阵型位置计算逻辑
- 将阵型位置计算提取到公共配置模块,定义 FormationPointX 映射
- 新增 resolveRangeTypeByHeroType 函数根据英雄类型解析默认攻击范围
- 新增 resolveFormationTargetX 函数统一计算英雄阵型目标X坐标
- 在 Hero 和 MoveSystem 中复用新的阵型计算函数,消除重复逻辑
- 优化远程英雄战斗逻辑,使其能根据阵型位置和攻击范围动态调整站位
2026-03-16 15:46:28 +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
b12b421823 refactor: 合并英雄与怪物移动组件为通用 MoveComp
重构移动系统,将 HeroMoveComp 和 MonMoveComp 合并为通用的 MoveComp 组件,统一移动逻辑。
- 移除 HeroMasterComp 相关代码,简化实体查询
- 统一战斗范围计算和阵型回归逻辑
- 调整移动边界和撤退范围配置
- 优化敌人查找算法,提高性能
2026-03-13 15:54:12 +08:00
walkpan
5d09b3361e feat(battle): 重构技能施放与战斗距离系统
- 新增技能距离缓存机制,根据英雄类型动态计算最小和最大攻击范围
- 重构SCastSystem实现完整的技能施放逻辑,支持伤害、治疗、护盾和buff技能
- 在Hero和Monster初始化时调用updateSkillDistanceCache预计算技能距离
- 修改HeroMoveSystem和MonMoveSystem使用动态战斗范围,支持撤退逻辑
- 优化Skill实体创建,增加对象池支持
- 添加技能CD触发方法和状态检查方法
2026-03-12 09:13:28 +08:00
walkpan
a544f65d73 refactor(战斗): 重构英雄与怪物属性系统,简化数据结构
- 移除 HeroSkillsComp 组件,将技能逻辑合并到 HeroAttrsComp
- 将属性从 Attrs 枚举映射改为 HeroAttrsComp 中的独立字段
- 为 HeroAttrsComp 添加攻击和技能冷却时间管理功能
- 统一英雄和怪物的属性初始化方式,简化配置数据
- 在 GameSet 中添加击退概率配置项
- 修复 SkillView 中属性名大小写错误
2026-03-11 23:13:21 +08:00
panw
350bbafcfb refactor(hero): 移除天赋系统和相关属性,简化英雄架构
- 删除 SCDSystem、HeroAttrSystem 等独立系统,将功能整合到现有组件
- 移除 TalComp 天赋组件及相关配置(TalSet、AttrSet、CardSet)
- 清理 HeroAttrs 中未使用的属性枚举,保留核心战斗属性
- 简化 Hero 实体创建逻辑,不再为主角挂载天赋组件
- 移除 SingletonModuleComp 中与天赋、经验、收集相关的数据管理
2026-03-11 17:32:29 +08:00
walkpan
369c10cf62 refactor(属性): 统一默认属性定义并移除调试属性
- 新增 defaultAttrs 对象集中定义 BACK_CHANCE、DODGE、CON_RES 的默认值
- 修改 Hero 和 Monster 初始化逻辑,使用 defaultAttrs 代替硬编码值
- 移除 HeroAttrsComp 中未使用的 debugMode 装饰器属性
- 简化日志消息,移除重复的组件名前缀
- 修复 SingletonModuleComp 中属性名错误(speed 改为 dodge)
2026-02-06 20:38:34 +08:00
walkpan
ee9d72be5c fix(hero): 修复英雄属性组件事件监听未正确初始化和清理的问题
将 HeroAttrsComp 的事件监听从 onLoad/onDestroy 生命周期方法移至显式调用的 initEvent/removeEvent 方法,确保在 Hero 初始化时正确初始化事件监听,并在重置时清理事件监听,避免事件重复绑定和内存泄漏。
2026-02-05 08:01:34 +08:00
walkpan
7812855ad3 chore: 调整调试日志开关状态
修复 HeroAttrsComp 与 HeroAtkSystem 中 debugMode 默认值的矛盾,统一将系统调试关闭而组件调试开启。同时在 Hero 创建日志中增加 is_master 字段输出,便于追踪主角创建逻辑。
2026-02-04 20:57:18 +08:00
panw
b42cc2e662 feat(战斗): 调整击退机制和技能配置
- 新增后退范围配置项,统一管理击退距离
- 提高英雄击退几率从20%到50%
- 调整"蓄力一击"技能冷却时间从1秒到3秒
- 优化击退逻辑,仅对怪物生效并应用配置的后退范围
- 启用调试模式以方便战斗系统调试
2026-02-04 16:42:46 +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
49537a086c refactor(英雄属性): 移除DIS属性及相关代码
移除英雄和怪物类中不再使用的DIS属性,包括初始化、赋值和引用代码
2026-01-15 16:37:26 +08:00
walkpan
bb28492550 feat(英雄AI): 重构英雄移动系统,基于攻击距离类型实现智能战术走位
1. 新增SkillRange枚举定义近/中/远程攻击类型
2. 在HeroAttrsComp和hero配置中添加rangeType字段
3. 重写HeroMoveSystem,根据rangeType实现差异化移动策略
4. 移除技能施放的攻击状态限制,优化AI决策逻辑
2026-01-06 18:26:18 +08:00
walkpan
526293cbbd feat(英雄系统): 添加友方英雄标识并调整经验获取
初始化任务卡片事件队列
修改英雄经验获取为20倍
在Hero类中添加is_friend参数标识友方英雄
调整MissionHeroComp中召唤英雄逻辑以支持友方标识
2026-01-05 22:00:11 +08:00
panw
45508abca4 refactor(hero): 优化技能初始化逻辑并添加技能卡选择功能
- 移除initSkills和addSkill方法中多余的entity参数,改为使用组件内ent属性
- 在HeroSkillsComp中添加技能卡选择事件监听和处理
- 在MissionCardComp中实现技能卡选择界面和事件分发
2026-01-05 14:45:39 +08:00
walkpan
20be2ae135 feat(战斗系统): 添加击退概率和控制抗性属性并调整击退逻辑
为英雄和怪物添加BACK_CHANCE和CON_RES属性
修改击退判定逻辑,考虑攻击者的击退概率和被攻击者的控制抗性
移除直接调用targetView.back()的硬编码击退逻辑
2026-01-04 23:00:41 +08:00
panw
7309f98b51 feat(英雄): 为主角添加天赋组件支持
只有主角角色会初始化天赋组件,用于管理角色的天赋系统
2026-01-04 16:42:02 +08:00
walkpan
f456e93fd8 fix(hero): 修复英雄视图初始化时未更新信息的问题
在HeroViewComp初始化时调用smc.updateHeroInfo更新英雄信息,确保视图与模型同步
2026-01-03 22:03:34 +08:00
walkpan
063b882879 feat(英雄系统): 添加英雄复活机制并调整死亡处理逻辑
初始化英雄时添加复活次数属性
修改英雄死亡事件触发条件为复活次数耗尽
移除HeroViewComp中重复的死亡事件触发
2026-01-03 19:58:12 +08:00
walkpan
c94255cc02 fix: 修复英雄销毁和任务开始时的残留问题
在Hero.ts中增加销毁节点的逻辑,防止视觉残留
在MissionComp.ts中清理回调函数和组件,避免上一局残留影响新局
2026-01-03 09:17:53 +08:00
walkpan
a9e7b5c464 feat(英雄): 添加is_master参数控制英雄主从状态
修改Hero类的load方法和MissionHeroComp类的addHero方法,增加is_master参数
用于区分主控英雄和从属英雄,取代之前硬编码的true值
2026-01-02 19:28:43 +08:00
panw
dd8536833a refactor(英雄属性): 移除魔法攻击相关属性并重构天赋系统
- 移除英雄和怪物类中的魔法攻击(MAP)相关属性
- 重命名getRandomOptions为getNormalBuffs以更准确表达功能
- 新增getTalentOptions函数用于从天赋池中随机获取天赋
- 清理无用注释和空行
2025-12-26 11:01:09 +08:00
panw
087f4010be refactor(渲染): 重构实体层级管理方式
- 移除通过 setSiblingIndex 手动设置层级的方式
- 新增 HERO、LINE1、LINE2、SKILL 等容器节点自动管理层级
- 调整英雄、怪物、技能等实体的父节点到对应容器
- 优化提示信息的位置偏移量
2025-11-04 14:23:07 +08:00
panw
1e0537b63d refactor(hero): 优化怪物生成位置计算并添加调试日志
- 使用 MonStart 配置计算怪物出生位置,替代硬编码的 MonSet
- 添加 console.log 调试英雄和怪物的 siblingIndex
- 根据 y 坐标动态判断线路,提高代码可读性和可维护性
2025-11-04 11:12:43 +08:00
panw
5c9f299fd7 refactor(hero): 优化英雄缩放逻辑和位置配置
重构英雄缩放逻辑,使用统一的缩放计算方法替代硬编码值
调整英雄和怪物的初始位置坐标
在Hero和Monster类中添加size变量控制缩放
2025-11-04 10:38:20 +08:00