walkpan
|
9a68ef957d
|
feat(skill): 添加新技能资源并修复伤害计算问题
添加新的技能动画、预制体和字体资源,用于支持新技能效果。
修复技能伤害计算未取整的问题,确保伤害值为整数。
更新技能buff提示UI的字体和布局,提升显示效果。
|
2026-03-24 09:23:41 +08:00 |
|
walkpan
|
6c1b182314
|
fix: 修正技能升级数据空值检查逻辑
将空值合并运算符(??)替换为三元条件运算符,确保当SkillUpList[s_uuid]为0或false时也能正确使用默认值SkillUpList[1001]。同时移除未使用的sNum变量计算。
|
2026-03-22 22:07:49 +08:00 |
|
walkpan
|
ab11b2b2d3
|
fix(skill): 修复技能升级配置查找和友方技能目标选择逻辑
修复SkillUpList中默认配置键值错误,从6001改为1001
修复技能升级属性计算中的空值保护,避免undefined导致的NaN
重构友方技能目标选择逻辑,添加随机选取和按血量排序功能
调整辅助技能数值从基于最大生命值百分比改为基于攻击力百分比
|
2026-03-22 21:46:32 +08:00 |
|
walkpan
|
c75c58d13c
|
feat(技能): 引入技能升级配置并调整伤害计算
- 新增 SkillUpList 配置表,支持技能升级时属性成长
- 修改 Skill.ts 中的伤害计算逻辑,将基础属性与升级加成结合
- 移除 SkillSet.ts 中冗余的注释行,保持代码整洁
|
2026-03-22 19:38:59 +08:00 |
|
walkpan
|
354f242930
|
refactor: 重构buff系统,移除预定义buff列表
- 将SkillConfig.buffs字段改为直接存储BuffConf对象数组
- 移除预定义的BuffsList和相关导入引用
- 简化SCastSystem中buff应用逻辑,直接使用配置对象
- 移除CardComp中Buff/Debuff类型的图标获取逻辑
- 简化HeroAttrsComp调试日志,移除buff名称显示
|
2026-03-22 19:09:02 +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 |
|
walkpan
|
a08cca9cc3
|
feat: 添加冰冻效果并移除调试组件
- 在 GameSet 中添加冰冻时间常量 FROST_TIME
- 在 HeroAttrsComp 中新增 toFrost 方法用于处理冰冻状态
- 在 HeroAtkSystem 中增加冰冻判定,命中时触发冰冻效果并显示冰冻特效
- 简化 HeroViewComp 中的冰冻特效方法,移除眩晕特效方法
- 删除调试用的 HSkillComp 组件及其 meta 文件
- 调整 HeroBuffSystem 的计时器间隔,使冰冻状态更平滑地递减
|
2026-03-19 19:08:50 +08:00 |
|
walkpan
|
50936dce1d
|
refactor(技能/英雄): 重构移动结束检测和冰冻状态逻辑
- 移除移动结束类型中的距离结束检测,仅保留碰撞结束
- 删除 HeroViewComp 中未使用的 mp_add 和 playIntervalEffect 方法
- 简化 HeroAttrsComp 中冰冻状态判断逻辑,移除 in_frost 字段
- 在 HeroBuffSystem 中添加定时器自动减少冰冻剩余时间
|
2026-03-19 18:49:19 +08:00 |
|
walkpan
|
1bb2d6072e
|
refactor: 移除眩晕机制并简化buff系统
- 删除眩晕相关属性、状态检查及动画触发
- 移除BType枚举,简化BuffConf结构,所有buff改为固定值类型
- 清理未使用的导入和配置项,包括debuffs数组和多个英雄属性
- 简化暴击伤害计算,移除施法者暴击伤害加成
- 重构冰冻状态检查逻辑,添加frost_end_time字段
|
2026-03-19 18:43:02 +08:00 |
|
panw
|
0f6ab4a775
|
refactor(skill): 优化特效生命周期管理并添加新动画
- 移除 timedCom 组件中未使用的 cd 和 ap 属性
- 重命名 dead 组件为 oneCom 并重构动画结束销毁逻辑,避免内存泄漏
- 为部分技能添加准备动画(readyAnm)配置
- 新增 uplv 升级动画特效预制体
- 统一特效生成接口,支持基于动画结束或定时销毁两种模式
- 清理 HeroViewComp 中未使用的导入和方法
|
2026-03-19 14:40:51 +08:00 |
|
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 |
|