Commit Graph

46 Commits

Author SHA1 Message Date
walkpan
354f242930 refactor: 重构buff系统,移除预定义buff列表
- 将SkillConfig.buffs字段改为直接存储BuffConf对象数组
- 移除预定义的BuffsList和相关导入引用
- 简化SCastSystem中buff应用逻辑,直接使用配置对象
- 移除CardComp中Buff/Debuff类型的图标获取逻辑
- 简化HeroAttrsComp调试日志,移除buff名称显示
2026-03-22 19:09:02 +08:00
panw
33d88b2884 fix(skill): 修复技能碰撞检测中的空实体引用问题
在 SkillView 的 onBeginContact 方法中调整了防御性检查的顺序,确保在访问 targetView.ent 前先验证其存在性,避免潜在的运行时错误。同时将技能 6001 的 EType 从 collision 改为 distanceEnd 以修正其结束判定逻辑。
2026-03-19 09:45:46 +08:00
panw
e059c97670 refactor(skill): 移除未使用的caster引用以简化技能数据
清理SDataCom中未使用的caster属性及相关代码,减少内存占用并提升代码清晰度。技能逻辑仅依赖casterEid进行实体识别,移除冗余引用可避免潜在循环引用问题。
2026-03-18 10:22:12 +08:00
panw
5d24dbff29 perf: 优化战斗系统内存与性能,增加对象池限制与内存监控面板
- 为Skill和Monster对象池添加最大容量限制(64/24),防止内存泄漏
- 实现DamageQueueComp的环形队列优化,减少数组操作开销
- 在MissionComp中添加内存监控面板,实时显示堆内存、实体数量、对象池状态
- 优化MoveSystem的渲染排序性能,缓存查询结果减少GC压力
- 调整角色控制器UI位置与样式,关闭调试日志减少性能开销
- 战斗结束时自动清理对象池,确保内存可回收
2026-03-16 18:49:43 +08:00
panw
5a630b4de5 refactor(skill): 重构碰撞上限处理与伤害派发逻辑
- 将碰撞上限处理抽离为独立的 handle_collision_limit 方法
- 移除 apply_damage 方法中冗余的销毁逻辑,使职责更清晰
- 优化注释以更准确描述组件职责与关键逻辑
- 添加生命周期保护标记,避免销毁阶段重复处理
2026-03-16 11:40:38 +08:00
panw
4db8788589 fix(SkillView): 提前检查命中次数并立即关闭碰撞器
在碰撞检测开始时立即检查命中次数,达到上限后立即关闭碰撞器并返回,避免后续不必要的逻辑执行。同时移除后续重复的命中次数检查和关闭碰撞器逻辑,简化代码结构。
2026-03-16 10:15:03 +08:00
panw
d4eeedb2f6 refactor(skill): 重构命中次数计算逻辑,移除冗余字段
- 将命中次数计算从 SkillView 移至 Skill 初始化,统一计算逻辑
- 移除 SkillConfig 接口中的 hit 字段,使用 hit_count 统一表示可命中次数
- 更新注释说明,hit_count 表示可命中次数而非攻击目标数量
- 清理 SkillView 中冗余的命中次数初始化代码
- 调整技能配置数据,移除所有 hit 字段值
2026-03-16 10:08:54 +08:00
panw
4e393b48b9 refactor(skill): 重构技能命中次数管理逻辑
- 在 SDataCom 组件中添加 max_hit_count 字段,用于存储最大可命中次数
- 移除 SkillView 中基于攻击帧的计数逻辑,改为使用 sData.max_hit_count 管理
- 在技能初始化时计算 max_hit_count(基础命中数 + 穿刺属性)
- 更新技能配置注释,将 hit_num 重命名为 hit_count 以保持命名一致性
2026-03-16 09:33:57 +08:00
panw
5634b49fee fix(技能): 修复瞬时技能碰撞检测关闭时机
移除基于 pendingClose 的延迟关闭逻辑,改为在攻击帧中立即调度关闭碰撞检测。
这避免了同一帧内对同一目标造成多次伤害的问题,并简化了时间类型技能的处理逻辑。
2026-03-16 09:10:03 +08:00
walkpan
9c21ab748e feat(skill): 优化技能碰撞检测逻辑并添加移动数据组件
- 新增 StimeDataComp 组件用于存储技能移动相关数据
- 修改 SMoveSystem 中距离结束和碰撞结束时的销毁逻辑,增加关闭碰撞体操作
- 重构 SkillView 的碰撞检测启用逻辑,提取为 enable_collider_safely 方法确保安全性
- 修复攻击帧事件中碰撞检测的启用条件,避免无效操作
2026-03-15 23:02:24 +08:00
walkpan
ad9799d938 fix(skill): 修复火焰击技能碰撞检测和消失逻辑
调整技能 atk_f2 的预制体位置、缩放和尺寸,以匹配新的碰撞体设置。
将技能 6004(火焰击)的 hit_num 从 1 改为 6,允许多次命中。
在 SkillView 中优化碰撞检测逻辑,增加 isDisposing 状态防止销毁后误触发。
修复 close_collider 方法的逻辑,确保碰撞体能立即关闭。
为 EType 枚举添加详细注释,明确其职责。
2026-03-15 22:25:51 +08:00
walkpan
02565c372e fix(skill): 修复技能碰撞检测逻辑和组件初始化问题
- 在Skill.ts中确保节点激活并添加SkillView组件缺失的错误处理
- 修复SkillView中碰撞体启用/禁用逻辑,避免同一帧内重复触发伤害
- 增加pendingDisableCollider标志防止异步操作中的竞争条件
- 完善组件重置逻辑,正确清理事件监听和定时器
- 修复动画事件监听可能重复绑定的问题
2026-03-15 15:56:22 +08:00
panw
6170f47ca6 refactor: 重构技能系统并移除自动施法模块
- 删除 SACastSystem 及其 meta 文件,移除自动施法逻辑
- 重构 HeroAttrsComp 中的 Buff 处理逻辑,修复百分比计算问题
  - 将治疗和护盾 Buff 的 BType 从 VALUE 改为 RATIO
  - 添加 resolveBuffValue 方法正确计算基于最大生命值的百分比值
  - 修复 applyAttrChange 中 RATIO 类型的叠加逻辑
- 添加 HeroBuffSystem 系统,将 Buff 更新逻辑从 HeroAttrsComp 中分离
- 优化 SkillView 的销毁逻辑,避免直接调用 destroy 方法
  - 禁用碰撞体并设置节点为 inactive 状态
2026-03-13 09:52:16 +08:00
panw
5d83bd1516 refactor(skill): 将buff/debuff应用逻辑从SkillView移到SCastSystem
重构技能效果应用逻辑,将buff/debuff处理从SkillView的碰撞检测中移除,统一在SCastSystem中根据技能配置决定是否创建技能实体或直接应用支持效果。这样可以更清晰地分离伤害技能和支持技能的处理逻辑,避免在碰撞时重复应用效果。
2026-03-12 22:02:42 +08:00
panw
fac8d571c3 refactor(skill): 统一技能效果处理逻辑至 SkillView
移除 SCastSystem 中的 applySupportSkill 方法,将治疗、护盾、Buff/Debuff 效果统一在 SkillView 的碰撞逻辑中处理。同时删除 SkillConfig 中的 SType 枚举,改为通过 buffs 和 debuffs 列表配置效果。
2026-03-12 16:51:14 +08:00
panw
d5e03d7856 refactor(skill): 移除技能配置中未使用的cd和t_num字段
清理技能配置接口和实现代码,删除已不再使用的冷却时间(cd)和目标数量(t_num)字段。
在SCastSystem中,将目标数量计算简化为固定使用最小值1,因为t_num字段已废弃。
同时移除SkillView中已注释掉的旧逻辑代码。
2026-03-12 16:27:01 +08:00
panw
9d86be80c7 fix: 修复技能节点池逻辑并调整UI显示
- 修复技能节点池获取和回收时的有效性检查,避免无效节点
- 修复技能父节点查找逻辑,增加空值检查
- 调整卡牌UI的文本样式和宽度
- 启用SkillView调试日志以便问题排查
- 修复英雄后撤动画逻辑,取消注释
- 更新加载页面资源引用
2026-03-12 15:58:25 +08:00
walkpan
a544f65d73 refactor(战斗): 重构英雄与怪物属性系统,简化数据结构
- 移除 HeroSkillsComp 组件,将技能逻辑合并到 HeroAttrsComp
- 将属性从 Attrs 枚举映射改为 HeroAttrsComp 中的独立字段
- 为 HeroAttrsComp 添加攻击和技能冷却时间管理功能
- 统一英雄和怪物的属性初始化方式,简化配置数据
- 在 GameSet 中添加击退概率配置项
- 修复 SkillView 中属性名大小写错误
2026-03-11 23:13:21 +08:00
panw
1ad7b70c45 fix(game): 修复技能伤害应用时的空指针异常并调整英雄攻速
- 在 SkillView.apply_damage 中添加实体存在性安全检查,防止目标实体已销毁时访问属性
- 使用可选链操作符安全获取施法者和目标名称,避免日志记录时崩溃
- 将所有英雄的基础攻击速度(as)统一调整为 1,以平衡游戏性
2026-02-05 10:12:36 +08:00
panw
3a8f015a78 refactor: 移除调试日志并统一使用日志工具
- 删除多个文件中的 console.log/console.warn/console.error 调试输出
- 将日志输出统一替换为 mLogger 工具,支持调试模式控制
- 清理注释掉的调试代码和空方法体
2026-02-03 16:49:24 +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
859ab3bc2a feat: 引入集中式日志工具类并重构调试日志
- 新增 Logger 类提供统一的日志和警告输出,支持全局和模块级开关
- 重构 SkillView、HeroViewComp 和 HeroAtkSystem 中的调试日志方法,改用 Logger 类
- 在 HeroViewComp 中添加调试模式属性便于编辑器配置
- 统一日志格式为 [标签] + 内容,提高日志可读性和维护性
2026-02-03 10:45:17 +08:00
panw
c07678f31f perf: 移除调试日志并统一调试模式控制
- 将 HeroAttrsComp 中的 console.log 改为注释以提升性能
- 将 HeroViewComp 的 debugMode 默认值设为 false 并移除冗余日志
- 在 SkillView 中统一添加 debugMode 控制,替换直接 console 调用
- 在 MissionCardComp 中添加调试日志以跟踪卡牌应用效果
2026-02-03 10:36:41 +08:00
walkpan
47575ca0b8 fix(skill): 延迟销毁技能实体以避免物理回调中直接销毁刚体
修复在物理回调中直接销毁刚体可能导致的问题,改为使用scheduleOnce延迟到下一帧销毁
2026-01-06 14:48:42 +08:00
walkpan
974a6d26b2 refactor(伤害系统): 将caster从HeroViewComp改为使用casterEid
统一伤害系统中施法者的标识方式,从直接使用HeroViewComp改为使用实体ID(casterEid)
修复反伤逻辑中可能存在的空指针问题
2026-01-06 14:28:48 +08:00
walkpan
31321a1a45 feat(技能系统): 添加施法者实体ID字段用于安全校验
在SDataCom组件中添加casterEid字段,并在Skill和SkillView中使用该字段替代原有的链式访问,提高代码安全性和可读性
2026-01-06 14:20:45 +08:00
walkpan
557e43ed29 refactor(skill): 重构技能系统以支持对象池复用
将技能节点管理改为使用对象池模式,提高性能
添加技能节点复用时的初始化逻辑
统一技能组件获取和重置方式
更新英雄配置中的默认技能
2026-01-02 23:37:20 +08:00
walkpan
ed728bd1b9 fix(碰撞处理): 增加防御性检查并优化英雄死亡时的碰撞体处理
在SkillView中添加对目标实体是否存在的检查,避免访问已销毁实体
在HeroViewComp中死亡时禁用碰撞体,防止"尸体"参与后续碰撞
2026-01-02 15:08:30 +08:00
panw
7a7a6fa02c fix(战斗系统): 修复伤害数值出错问题
- 修复在DamageEvent接口和DamageQueueComp缺少ext_dmg和dmg_ratio字段问题
- 修复HeroAtkSystem的伤害计算逻辑
- 优化HeroViewComp的hp_show和mp_show方法,直接使用model数据
- 默认显示血条并增加调试日志输出
- 移除冗余的debug日志,优化伤害计算流程
2025-11-28 09:59:01 +08:00
panw
1a45e91f1a feat(skill): 优化技能碰撞检测逻辑并添加攻击帧计数
- 在SkillView中缓存碰撞体引用并添加攻击帧计数器
- 实现攻击帧事件中动态开启碰撞检测
- 非持续碰撞类型技能在造成伤害后立即关闭碰撞检测
- 清理资源时取消所有定时器
- 调整技能预制体碰撞体位置和大小
- 注释掉Main.ts中的物理调试绘制代码
2025-11-03 14:47:53 +08:00
panw
5bd2e15fb5 refactor(skill): 优化技能碰撞检测逻辑并移除重复命中检查
- 移除hitTargets集合及相关重复命中检查逻辑
- 改进碰撞检测日志输出,增加安全性检查
- 清理注释掉的旧攻击逻辑代码
- 在reset方法中添加碰撞器事件解绑
2025-11-03 10:57:08 +08:00
walkpan
f35d755b74 整合,清理掉很多冗余的东西 2025-11-02 10:34:18 +08:00
walkpan
8fdd9e2c98 fix(skill): 添加命中目标追踪防止重复伤害
添加 hitTargets Set 来追踪已命中目标,避免技能对同一目标造成多次伤害。同时优化碰撞检测逻辑,移除不必要的条件检查。
2025-11-02 00:23:44 +08:00
walkpan
1091b0399e fix: 修复技能碰撞检测和英雄prefab配置问题
修复技能碰撞检测逻辑,确保正确应用伤害并过滤同组碰撞
调整多个英雄prefab的_enabled状态和碰撞组配置
优化技能视图的日志输出和伤害应用逻辑
移除不必要的prefab组件和调试日志
2025-11-01 23:10:38 +08:00
walkpan
cb844cf65f 解决一些小问题 2025-11-01 15:02:31 +08:00
walkpan
d014e63d27 refactor(skill): 重构技能移动系统,整合移动逻辑到SMoveComp
将技能移动逻辑从SkillView迁移到SMoveComp,实现统一的移动管理
添加多种移动类型支持(线性、贝塞尔、固定位置)
优化移动参数配置,从SkillView获取攻击偏移量
2025-11-01 12:16:21 +08:00
walkpan
2b8ba46759 技能继续调整 2025-11-01 11:15:11 +08:00
walkpan
600d49c679 技能动画图片整理 2025-11-01 00:02:01 +08:00
walkpan
b8f48e09d6 feat(战斗系统): 实现伤害队列机制优化战斗处理
重构伤害处理逻辑,将直接伤害组件改为队列系统
- 新增DamageQueueComp组件管理伤害事件队列
- 添加DamageQueueHelper工具类处理伤害事件添加和查询
- 修改HeroAtkSystem改为处理伤害队列而非单个伤害
- 移除旧的DmgDataCom组件及相关引用
- 优化SkillView.apply_damage使用新队列系统
2025-10-31 20:08:43 +08:00
panw
8e0d09fc98 refactor(战斗系统): 优化伤害计算与技能释放逻辑,下一步 将伤害信标处理,改为队列处理
- 移除HeroViewComp中的调试日志
- 缩短技能释放前摇时间从0.3秒到0.1秒
- 重构Skill类,清理无用导入并优化属性传递
- 改进HeroAtkSystem,添加伤害数据深拷贝避免重复处理
- 完善SkillView,增加技能结束类型处理并优化伤害应用逻辑
2025-10-31 16:43:27 +08:00
panw
028a175df4 refactor(skill): 优化技能系统实现和配置
- 删除未使用的ECS元文件和组件
- 修复技能视图和移动逻辑,添加调试日志
- 调整技能预制体配置和动画参数
- 简化技能加载和方向处理逻辑
- 新增技能6002并更新英雄配置
- 统一受击特效路径命名
2025-10-31 16:42:57 +08:00
walkpan
65b1eebd84 refactor(skill): 重构伤害计算逻辑
- 删除SkillEnt.ts及其meta文件,简化技能实体管理
- 将SDataCom重命名为更清晰的DmgDataCom和SDataCom
- 重构伤害计算系统,增加命中检测和伤害类型处理
- 优化技能碰撞检测逻辑,支持范围伤害和数量限制
2025-10-31 13:38:32 +08:00
panw
2b3b80b308 refactor(技能系统): 重构技能系统以使用s_uuid作为主键并优化技能施放逻辑
- 将HeroSkillsComp中的技能数组改为以s_uuid为键的对象存储
- 修改CSRequestComp使用s_uuid替代skillIndex
- 优化SkillCastSystem和SACastSystem的施放逻辑
- 为SMoveDataComp添加rePos方法处理技能位置计算
- 移除未使用的SDataComSystem代码
2025-10-31 10:47:05 +08:00
panw
b38e63e200 refactor(skill): 重构技能组件目录结构并重命名施法请求组件
将技能相关组件从hero目录移动到skill目录
将CastSkillRequestComp重命名为CSRequestComp
更新相关引用和文档说明
2025-10-31 09:22:50 +08:00
walkpan
2f19433a0a feat(skill): 重构技能系统,新增技能数据组件和移动组件
refactor(skill): 移除旧技能组件和文档,优化技能配置结构

fix(skill): 修正技能预制体配置错误,统一技能运行类型字段

docs(skill): 删除过时的技能系统说明文档

perf(skill): 优化技能加载逻辑,减少资源消耗

style(skill): 调整代码格式,提高可读性
2025-10-31 00:35:51 +08:00
walkpan
6db004a99f feat(skill): 重构技能模块,新增技能前后摇动画和组件
- 新增技能前后摇动画资源及配置
- 添加技能组件(SkillCom, EndAnmCom)和视图组件
- 重构技能配置表,支持前后摇动画配置
- 删除旧版技能资源(prefab, boom目录)
- 调整技能预制体路径结构
2025-10-30 19:30:55 +08:00