panw
|
b6efcdf794
|
refactor(skill): 移除未使用的rePos方法并实现贝塞尔移动逻辑
- 删除SMoveDataComp中未使用的rePos方法以简化代码
- 在SMoveSystem中为贝塞尔移动类型实现完整的坐标计算逻辑
- 添加resolveBezierFinalXByHorizon方法计算水平线上的最终X坐标
|
2026-03-19 10:19:55 +08:00 |
|
panw
|
7415626395
|
fix(SMoveSystem): 修复线性移动的起始与目标位置计算错误
修正线性移动类型中位置调整逻辑,现在正确基于 startPos 和 targetPos 应用 atk_x 和 atk_y 偏移量,而非错误地使用 node.position。同时确保水平移动开关能正确对齐起始与目标的 Y 轴坐标。
|
2026-03-19 10:18:47 +08:00 |
|
panw
|
33d88b2884
|
fix(skill): 修复技能碰撞检测中的空实体引用问题
在 SkillView 的 onBeginContact 方法中调整了防御性检查的顺序,确保在访问 targetView.ent 前先验证其存在性,避免潜在的运行时错误。同时将技能 6001 的 EType 从 collision 改为 distanceEnd 以修正其结束判定逻辑。
|
2026-03-19 09:45:46 +08:00 |
|
panw
|
035066752c
|
fix: 收敛战斗内存增长并强化战斗结束清理
|
2026-03-18 16:46:52 +08:00 |
|
panw
|
ee16c228ec
|
fix: 移除技能配置中已弃用的穿刺次数字段
移除 SkillConfig 接口中的 pct 字段及相关计算逻辑,该字段已不再使用。
更新 max_hit_count 的计算,直接使用 cAttrsComp.puncture 替代之前包含 addPct 的 totalPuncture。
|
2026-03-18 14:19:54 +08:00 |
|
panw
|
eff4154ba3
|
perf: 增加技能对象池最大容量并优化伤害日志
将技能对象池最大容量从64提升至128,以支持更多并发技能实例。
将技能6008的结束类型从动画结束改为碰撞检测,提高准确性。
移除伤害计算中不必要的施法者属性获取和击杀计数更新,简化日志输出。
|
2026-03-18 10:37:25 +08:00 |
|
panw
|
e059c97670
|
refactor(skill): 移除未使用的caster引用以简化技能数据
清理SDataCom中未使用的caster属性及相关代码,减少内存占用并提升代码清晰度。技能逻辑仅依赖casterEid进行实体识别,移除冗余引用可避免潜在循环引用问题。
|
2026-03-18 10:22:12 +08:00 |
|
panw
|
d2fbac11cd
|
feat(技能): 为技能配置添加额外属性字段并应用到技能实例
在 SkillConfig 接口中新增暴击率、冰冻概率等六个可选属性字段,用于技能配置时提供额外加成。
在 Skill 类中,读取这些配置字段并累加到施法者基础属性上,影响技能的实际效果。
|
2026-03-18 10:13:50 +08:00 |
|
walkpan
|
1b8c69a745
|
chore: 移除未使用的技能相关组件和文件
清理技能模块中未使用的ECS组件、视图层文件及其元数据文件,包括Ready、EndView、ReadyCom、ReadyView和STagComps。同时简化SCastSystem的注释,删除过时的设计理念说明。
|
2026-03-16 20:56:04 +08:00 |
|
walkpan
|
a634b33f6b
|
refactor(技能系统): 移除未使用属性并优化目标选择逻辑
- 移除 Skill.ts 中未使用的 wfuny 属性赋值
- 将 SCastSystem 中的目标选择逻辑重构为统一方法
- 在施放技能前增加目标有效性检查,避免无效操作
- 移除 HeroAtkSystem 中未使用的导入和接口字段
- 调整 SkillSet 中技能 6008 的 ready 参数值
|
2026-03-16 19:33:24 +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
|
dbdd29f0ff
|
fix(技能): 确保技能持续时间至少为1帧并添加攻击间隔
将技能总时间的最小值从0改为1,避免除零错误。新增hitInterval字段控制攻击间隔,默认至少0.5秒。在STimeSystem中添加周期性攻击逻辑,通过pendingClose标志管理碰撞器状态。
|
2026-03-15 23:38:29 +08:00 |
|
walkpan
|
518591468c
|
feat(skill): 为技能系统添加基于时间的结束条件支持
- 在 SkillConfig 接口中新增可选的 time 字段,用于配置持续时间
- 在 Skill 实体初始化时,根据 EType.timeEnd 类型添加或移除时间组件
- 新增 StimeDataComp 组件存储技能时间数据
- 新增 STimeSystem 系统处理技能时间更新逻辑,实现定时销毁技能
|
2026-03-15 23:11:52 +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 |
|
walkpan
|
211f48b6aa
|
feat: 启用物理调试绘制并调整技能配置与移动逻辑
- 启用PhysicsSystem2D的Aabb调试绘制以辅助碰撞检测
- 将射手英雄的技能由[6002,6100]更新为[6005,6006]
- 为SMoveComp添加isHorizontal属性,强制水平移动时保持Y坐标不变
- 技能施放延迟优先使用技能配置的ready值,提高配置灵活性
- 将技能6001和6005的结束类型由animationEnd改为collision,使伤害触发更精确
|
2026-03-15 13:03:34 +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
|
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
|
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
|
e343e26862
|
refactor(游戏逻辑): 拆分游戏暂停和播放状态的检查条件
将多处 `if(!smc.mission.play || smc.mission.pause)` 条件判断拆分为独立的if语句
在VictoryComp中正确设置pause状态
移除MissionComp中多余的pause状态重置
|
2026-01-03 19:04:41 +08:00 |
|
walkpan
|
7cb87433a1
|
feat(技能系统): 实现技能移动系统并优化位置计算
- 新增SMoveSystem处理技能移动逻辑,支持多种移动类型
- 使用Vec3.lerp优化直线运动的位置计算
- 调整技能起始位置y轴偏移量
- 为线性移动类型添加方向旋转功能
|
2026-01-02 23:52:52 +08:00 |
|
walkpan
|
557e43ed29
|
refactor(skill): 重构技能系统以支持对象池复用
将技能节点管理改为使用对象池模式,提高性能
添加技能节点复用时的初始化逻辑
统一技能组件获取和重置方式
更新英雄配置中的默认技能
|
2026-01-02 23:37:20 +08:00 |
|
walkpan
|
c40414173d
|
refactor(tooltip): 优化提示系统使用对象池并改进动画效果
重构提示系统,引入对象池管理节点提升性能,改进动画效果包括缩放、位移和淡出,调整提示位置和层级防止重叠,修复父节点翻转时的显示问题
|
2026-01-02 17:27:53 +08:00 |
|
walkpan
|
ed728bd1b9
|
fix(碰撞处理): 增加防御性检查并优化英雄死亡时的碰撞体处理
在SkillView中添加对目标实体是否存在的检查,避免访问已销毁实体
在HeroViewComp中死亡时禁用碰撞体,防止"尸体"参与后续碰撞
|
2026-01-02 15:08:30 +08:00 |
|
walkpan
|
0ec1dcfd0d
|
feat(护盾系统): 完善护盾功能并添加吸收提示
- 在GameSet.ts中添加shield类型提示
- HeroViewComp新增shield_tip方法显示护盾吸收值
- 修改HeroAttrsComp移除护盾值上限限制
- TooltipCom添加shield类型提示处理
- 调整SACastSystem中治疗和护盾技能计算方式
- HeroAtkSystem优化护盾吸收逻辑并添加吸收提示
|
2025-12-31 23:36:55 +08:00 |
|
walkpan
|
be7740e2b6
|
feat(技能): 添加治疗和魔法盾基础技能配置
- 新增治疗(6100)和魔法盾(6101)基础技能配置
- 删除旧的heath技能资源文件
- 添加新的heathed动画和预制体资源
- 调整水球技能(6005)的ap和map参数
|
2025-12-31 22:33:14 +08:00 |
|
walkpan
|
beb0f9feb4
|
feat(技能系统): 添加治疗和护盾技能支持
实现治疗和护盾技能的基础功能,包括:
1. 在SACastSystem中添加对治疗和护盾技能类型的支持
2. 新增技能目标选择逻辑,根据技能类型选择敌人或友军
3. 添加buff动画效果和技能提示
4. 更新刘邦的技能配置为护盾技能
5. 移除不再使用的EndAnm相关文件
|
2025-12-31 19:50:27 +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
|
9c33bb0f7b
|
feat(技能提示): 添加MP恢复提示功能
添加MP恢复提示类型到TooltipTypes枚举
在TooltipCom组件中实现MP恢复提示的显示逻辑
更新tooltip.prefab结构以支持MP恢复提示
移除未使用的tooltip.prefab.meta文件
移除英雄prefab中的tooltip 说话节点
|
2025-11-26 10:07:21 +08:00 |
|
panw
|
3edc69deff
|
refactor(skill): 移除溅射伤害设定,溅射以后有特定技能触发
清理不再使用的溅射伤害功能,包括移除SDataCom中的splash字段、Skill和SACastSystem中的相关参数,
以及删除TalSet中的溅射天赋配置
|
2025-11-25 15:24:38 +08:00 |
|
panw
|
03a8a41980
|
feat(战斗系统): 添加伤害比例属性并应用到伤害计算
在SDataCom中添加dmg_ratio属性用于调整伤害比例
修改HeroAtkSystem中的伤害计算公式,将dmg_ratio纳入计算
|
2025-11-24 16:58:13 +08:00 |
|
panw
|
91c18004eb
|
feat(技能系统): 添加额外伤害和溅射伤害功能
在技能组件中新增ext_dmg和splash字段用于处理额外伤害和溅射伤害
修改技能创建和伤害计算逻辑以支持新功能
|
2025-11-24 16:58:04 +08:00 |
|