Commit Graph

1474 Commits

Author SHA1 Message Date
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
0b85345369 fix: 修复移动系统中过近检测忽略敌对阵营的问题
调整hasAnyActorTooClose方法,在判断其他角色是否过近时,增加阵营校验逻辑,确保只检测同阵营角色,避免误判敌对角色位置。
2026-03-15 22:00:48 +08:00
walkpan
8af04d61e0 fix(战斗): 移除近战单位后撤逻辑并调整远程单位攻击距离
- 移除所有单位类型在距离过近时的后撤行为,简化移动逻辑
- 远程单位现在只在距离过远时前进,不再因过近而后撤
- 调整远程单位长距离攻击的起始位置从240增加到300
- 保持战斗系统的核心行为不变,仅优化移动决策逻辑
2026-03-15 21:54:03 +08:00
walkpan
426fcec5c4 fix(战斗): 修正近战攻击状态切换逻辑
在移动系统中,当英雄进入攻击范围时,应将 is_atking 设置为 true 以正确触发攻击状态。同时优化攻击范围计算,使用 minSpacingX 作为最大范围基准,并确保最小范围不超过最大范围减一,避免逻辑矛盾。
2026-03-15 21:47:15 +08:00
walkpan
4db3615e04 fix(移动): 增加角色间最小间距并调整技能距离数值
- 将相同位置检测阈值改为最小间距要求,防止角色重叠
- 当无法找到合适位置时返回null并停止移动
- 调整近战和中程技能的标准距离数值
- 移动目标位置时增加间距检查
2026-03-15 21:42:46 +08:00
walkpan
72fe6d3580 fix(hero): 调整移动系统y轴位置偏移值
将LINE2和LINE3的偏移量从15调整为30,并移除LINE4的配置,使英雄移动路径更符合设计需求
2026-03-15 19:41:38 +08:00
walkpan
d98e7aefca feat: 调整游戏界面布局和地平线高度
- 提升游戏地平线高度(GAME_LINE从-140改为-90),优化视觉体验
- 删除未使用的MissionGetsComp组件及相关资源文件
- 调整地图预制体中多个节点的Y坐标位置
- 修改角色控制器UI元素的位置、大小和间距
- 更新UI容器的高度和底部边距以适应新布局
2026-03-15 19:29:23 +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
walkpan
69c55400ba fix(动画): 调整攻击动画的事件触发时机与参数
- 将 atk01.anim 的攻击事件从第 0.066 帧移至第 0 帧,确保攻击判定与动画起始同步
- 修正 hk1/atk0.anim 的动画名称并添加 onAtkEvent 触发事件
- 调整 atk04.anim 的帧率、时长与关键帧,使动画播放更流畅准确
2026-03-15 12:07:01 +08:00
walkpan
1ca77f1b76 chore: 更新技能图标资源文件 2026-03-15 11:41:15 +08:00
walkpan
219be7f6cd feat(skill): 新增多种攻击技能动画与配置
新增冰、火、水等元素的攻击技能动画(.anim)与预制体(.prefab),包括冰球、火球、水球、火墙及不同颜色的箭矢。同时更新技能配置表(SkillSet.ts),将原有技能ID 6002-6004重新命名为更具描述性的名称,并新增技能ID 6005-6008以对应新的技能资源。删除了旧版技能资源文件(b_arrow_* 和 m_water_ball_1)。
2026-03-14 23:39:57 +08:00
walkpan
7d0dc04d01 feat(card): 完善卡牌图标显示与锁定功能
- 为英雄卡牌添加动画图标显示,根据配置加载对应动画
- 修复锁定按钮显示逻辑,现在正确显示锁定/解锁状态
- 为技能、buff、英雄等卡牌类型添加图标解析功能
- 更新卡牌预制体,调整图标尺寸和锁定图标
- 删除未使用的动画资源文件
- 优化资源图集配置,调整精灵帧位置
2026-03-14 21:39:27 +08:00
walkpan
c7248fe32a feat(hero): 添加技能特效播放接口并优化英雄资源
- 在 HeroViewComp 中添加 palayBuff、palayReady、playEnd 方法用于播放技能特效
- 删除未使用的 buff 预制体(maxy、foot_jiasu)及其元数据
- 调整 heal 预制体的位置、尺寸和动画参数以优化显示效果
- 简化多个英雄预制体结构,移除嵌套的 up 节点以提升性能
- 更新 SkillSet 配置,为技能添加 readyAnm 和 endAnm 字段支持
2026-03-14 15:45:10 +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
2f1af99a1b feat: 添加卡牌使用组件并集成至卡牌系统
- 新增 CardUseComp 组件,用于处理卡牌使用逻辑和效果分发
- 在 CardComp 中集成 CardUseComp,卡牌使用时触发效果事件
- 修改 MissionCardComp,任务开始时自动发牌至槽位
- 更新预制体资源,修复卡牌 UI 节点引用
2026-03-14 13:07:26 +08:00
walkpan
4530f9e219 chore: 将 module.meta 重命名为 skills.meta
更新元数据文件名以更准确地反映其内容模块,便于维护和理解。
2026-03-14 10:52:11 +08:00
walkpan
b630a97f8b feat(ui): 添加卡槽自动布局并禁用角色控制器节点
- 在 CardComp 中新增 setSlotPosition 方法,支持动态设置卡槽位置
- 在 MissionCardComp 中实现 layoutCardSlots 方法,根据卡槽数量自动水平居中布局
- 在任务开始、抽卡等关键时机调用布局更新,确保卡槽位置正确
- 禁用角色控制器预制件中的节点,防止其干扰UI交互
2026-03-14 09:42:20 +08:00
walkpan
b32cea1c00 feat: 为卡牌组件添加拖拽使用动画并增强日志
- 为 CardComp 添加拖拽使用交互:上拉超过阈值触发使用,否则回弹
- 增加卡牌刷新、回弹、使用消失的 Tween 动画
- 在 MissionCardComp 和 CardComp 的关键节点添加调试日志
- 修复升级按钮在达到最大等级后隐藏升级提示的问题
- 优化卡牌使用和清槽时的动画与状态重置逻辑
2026-03-14 09:42:08 +08:00
walkpan
d0e824e93b feat(卡牌系统): 实现任务卡牌抽卡与锁定功能
- 新增 MissionCardComp 作为卡牌面板控制器,管理四个固定卡槽
- 实现抽卡按钮逻辑,根据卡池等级抽取并分发卡牌到四个槽位
- 实现卡池升级按钮,提升抽卡品质但不影响已锁定卡牌
- 新增 CardComp 作为单卡控制器,支持卡牌使用与槽位锁定功能
- 锁定状态下卡槽将跳过抽卡更新,保持原有卡牌
- 添加任务开始/结束时的卡槽清理与界面显隐控制
- 修复预制体字段缺失问题,补充 instance 和 targetOverrides 字段
2026-03-14 09:18:45 +08:00
walkpan
dbe376033d refactor: 移除未使用的代码并优化卡牌获取逻辑
- 删除 MissionCardComp 中未使用的接口定义和注释代码
- 移除 MissionComp 中未实现的英雄死亡、升级和复活相关事件处理
- 重构 CardSet 中的 getCardPoolByLv 和 getCardsByLv 方法,增加类型过滤和等级模式参数
- 清理 MissionComp 中的冗余代码和注释,简化局内数据初始化逻辑
2026-03-14 09:09:47 +08:00
walkpan
c8c3dde2e4 feat(card): 新增卡牌系统核心组件与配置
- 新增 CardComp 组件用于卡牌视图展示
- 新增 CardSet 配置文件,包含卡牌类型、种类枚举和完整卡池配置
- 重构 HSkillComp 组件,优化技能调试面板布局和交互逻辑
- 更新 MissionCardComp 组件,移除旧卡牌类型依赖
- 调整 GameSet 配置文件,移除 CardType 和 CardKind 枚举
- 更新卡牌预制体结构,优化 UI 布局和组件绑定
- 新增特殊卡牌效果系统,支持抽英雄和重复使用等特殊能力
- 实现卡牌按权重抽取算法和卡池等级管理机制
2026-03-13 23:15:21 +08:00
walkpan
45ba5b72f5 feat(gui): 新增英雄技能组件和按钮预制体
- 添加 HSkillComp 组件用于管理英雄技能界面
- 新增 Btn.prefab 按钮预制体资源
- 在 role_controller.prefab 中添加 heros 节点用于显示英雄界面
2026-03-13 18:32:18 +08:00
panw
ec91ccfa90 fix(game): 调整游戏地平线高度和移动系统位置参数
- 将游戏地平线从 -165 调整为 -140,以优化视觉表现
- 修改移动系统的Y轴位置偏移量,使角色移动更符合设计需求
- 更新地图预制体中的组件引用和布局配置
- 删除未使用的资源文件 mon.meta
2026-03-13 16:37:19 +08:00
walkpan
8d4ebcfdd8 feat(移动系统): 实现多线站位和防重叠机制
- 将移动边界配置从 min/max 改为 front/back 以支持双向移动逻辑
- 增加四条站位线(LINE1~LINE4)实现纵向分层站位
- 添加防重叠检测,防止同阵营单位位置冲突
- 调整游戏地平线高度和地图元素位置以适配新站位系统
- 禁用地图中多余的游戏对象以优化性能
2026-03-13 16:04:53 +08:00
walkpan
b12b421823 refactor: 合并英雄与怪物移动组件为通用 MoveComp
重构移动系统,将 HeroMoveComp 和 MonMoveComp 合并为通用的 MoveComp 组件,统一移动逻辑。
- 移除 HeroMasterComp 相关代码,简化实体查询
- 统一战斗范围计算和阵型回归逻辑
- 调整移动边界和撤退范围配置
- 优化敌人查找算法,提高性能
2026-03-13 15:54:12 +08:00
panw
5ab5a51752 docs(hero): 为 Buff 系统添加详细注释以阐明设计意图
- 为 ActiveBuffState 和 IntervalBuffState 接口添加功能描述
- 在 addBuff 方法中为不同 runType 的处理逻辑添加行内注释
- 补充 resolveRunType、normalizeBuffValue 等关键方法的优先级和转换规则说明
- 明确 collectIntervalEffectsBySystem 和 updateList 方法的职责边界
- 在 HeroBuffSystem 的 update 方法中标注执行步骤
- 为 applyIntervalEffect 方法添加执行入口说明
2026-03-13 10:58:38 +08:00
panw
887ba6064c feat(技能系统): 扩展Buff运行类型并修复治疗与护盾配置
- 扩展BuffRunType枚举,新增Permanent和Timed类型,明确区分永久、定时和间隔效果
- 在HeroAttrsComp中重构addBuff方法,根据配置智能解析运行类型
- 为治疗(10301)和护盾(10302)配置显式添加runType: Permanent,确保逻辑一致性
- 修复定时Buff的持续时间处理,避免time为0时使用默认值1
2026-03-13 10:41:47 +08:00
panw
3ee57a5711 refactor(英雄): 分离间隔效果的应用与视图更新逻辑
将间隔效果的处理逻辑从 HeroAttrsComp 中分离,改为由 HeroBuffSystem 统一收集并应用效果,同时触发 HeroViewComp 中的视觉反馈。这提高了关注点分离,使属性计算与视图更新解耦,便于维护和扩展新的间隔效果类型。
2026-03-13 10:37:27 +08:00
panw
d2418c03c8 feat(buff): 新增间隔触发型buff效果支持
- 在 SkillSet.ts 中添加 BuffRunType 枚举和 interval 配置字段
- 在 HeroAttrsComp 中实现间隔效果处理逻辑,支持持续治疗和流血等效果
- 新增 INTERVAL_EFFECTS 数组和 updateIntervalEffectsBySystem 方法来管理间隔触发
- 添加 10311(持续治疗)和 10312(流血)两个示例buff配置
2026-03-13 10:21:40 +08:00
panw
3b545e3bff fix(战斗): 修正护盾计算并重构技能效果处理
- 修复护盾计算错误,将百分比加成基数从 shield_max 改为 hp_max
- 增加护盾和最大护盾值的非负检查
- 引入 SkillKind 枚举明确技能类型,重构 SCastSystem 中的技能效果处理逻辑
- 将治疗和护盾效果从 Buff 系统剥离,直接作用于 HeroAttrsComp
- 清理未使用的导入和日志输出
2026-03-13 09:52:43 +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
d626a6e5c2 ui调整 2026-03-13 09:10:39 +08:00
walkpan
04a0cc70d4 ui 调整 2026-03-12 23:20:57 +08:00
panw
42a2f59377 fix(英雄属性): 护盾值变更时同步更新最大值
处理护盾属性变更时,确保当前值和最大值同时更新,避免护盾最大值未同步导致显示或计算异常。同时添加护盾值非负校验。
2026-03-12 22:07:37 +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
3ba33c5240 feat(技能): 增加基于目标类型的智能排序逻辑
扩展技能目标选择系统,支持根据 TType 配置选择不同优先级的目标。
新增 HighestAP(最高攻击力)目标类型,并在 SCastSystem 中实现排序算法:
- Frontline(默认):最近距离优先
- Backline:最远距离优先
- LowestHP:最低血量优先
- HighestHP:最高血量优先
- HighestAP:最高攻击力优先
同时更新所有技能配置,补充缺失的 TType 字段。
2026-03-12 16:27:16 +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
876b3f9a30 refactor: 移除技能配置中的固定距离字段,改用动态计算
技能配置中不再硬编码 `dis` 距离字段,而是通过 `casterAttrs.getCachedMaxSkillDistance()` 动态获取英雄的最大技能距离。这提高了灵活性,使技能距离可以基于英雄属性动态变化。
2026-03-12 16:05:12 +08:00
panw
9d86be80c7 fix: 修复技能节点池逻辑并调整UI显示
- 修复技能节点池获取和回收时的有效性检查,避免无效节点
- 修复技能父节点查找逻辑,增加空值检查
- 调整卡牌UI的文本样式和宽度
- 启用SkillView调试日志以便问题排查
- 修复英雄后撤动画逻辑,取消注释
- 更新加载页面资源引用
2026-03-12 15:58:25 +08:00
panw
01bff64561 chore: 清理未使用的组件文件及更新预制体引用
- 删除多个未使用的组件文件及其meta文件,包括HeroAttrsSystem.ts、TalComp.ts、MGetComp.ts、HInfoComp.ts、SCDSystem.ts、HeroSkills.ts、MissionCardComp.ts、MissionGetsComp.ts、TalSet.ts、CardSet.ts
- 新增SCastSystem.ts组件文件
- 更新角色控制器预制体结构,修复节点引用问题
- 移除无效的组件绑定,优化界面节点层次结构
2026-03-12 10:08:14 +08:00
walkpan
5d09b3361e feat(battle): 重构技能施放与战斗距离系统
- 新增技能距离缓存机制,根据英雄类型动态计算最小和最大攻击范围
- 重构SCastSystem实现完整的技能施放逻辑,支持伤害、治疗、护盾和buff技能
- 在Hero和Monster初始化时调用updateSkillDistanceCache预计算技能距离
- 修改HeroMoveSystem和MonMoveSystem使用动态战斗范围,支持撤退逻辑
- 优化Skill实体创建,增加对象池支持
- 添加技能CD触发方法和状态检查方法
2026-03-12 09:13:28 +08:00
walkpan
ce2cd05ba9 refactor(英雄配置): 移除英雄配置中的mp和def属性
简化英雄属性配置,移除不再使用的法力值(mp)和防御力(def)属性
2026-03-11 23:24:31 +08:00
walkpan
87b21864b1 feat(hero): 添加自动施法系统,支持技能AI决策与执行
实现英雄技能自动施法系统,包含以下功能:
- 根据技能类型(伤害/治疗/护盾/Buff)自动检测可施放技能
- 支持多种AI策略,包括目标选择、距离检查和CD管理
- 提供手动施法接口,支持普通攻击、技能和必杀技
- 集成天赋系统,处理风怒、双技能等天赋效果
- 实现治疗、护盾和Buff技能的目标选择与效果应用
- 添加调试日志支持,便于系统行为追踪
2026-03-11 23:15:47 +08:00
walkpan
a544f65d73 refactor(战斗): 重构英雄与怪物属性系统,简化数据结构
- 移除 HeroSkillsComp 组件,将技能逻辑合并到 HeroAttrsComp
- 将属性从 Attrs 枚举映射改为 HeroAttrsComp 中的独立字段
- 为 HeroAttrsComp 添加攻击和技能冷却时间管理功能
- 统一英雄和怪物的属性初始化方式,简化配置数据
- 在 GameSet 中添加击退概率配置项
- 修复 SkillView 中属性名大小写错误
2026-03-11 23:13:21 +08:00
walkpan
9d6075be6e refactor(hero): 重构英雄属性与状态管理
- 将增益效果属性组移到武器进化属性后以优化结构
- 新增 in_stun 和 in_frost 状态标志替代 isStun/isFrost 方法
- 更新状态检查逻辑以使用新的状态标志
- 移除 HeroSkillsComp 依赖以简化移动系统
- 修改伤害计算直接使用 HeroAttrsComp 属性而非 Attrs 映射
- 简化暴击、击退等判定逻辑,移除闪避和抗性计算
- 优化 reset 方法,设置合理的默认值并重置新增状态标志
- 添加状态变化时的调试日志输出
2026-03-11 22:51:48 +08:00