Commit Graph

507 Commits

Author SHA1 Message Date
walkpan
e2ffd739c8 fix(hero): 修复英雄视图初始化时血条显示状态问题
重置血条UI显示状态以确保模型存在时正确显示
2026-01-03 21:58:02 +08:00
walkpan
9f08d19742 fix: 重置怪物移动参数和英雄视图状态
在Monster类中重置移动参数确保怪物行为一致
在HeroViewComp中初始化状态变量防止未定义行为
2026-01-03 21:57:57 +08:00
walkpan
063b882879 feat(英雄系统): 添加英雄复活机制并调整死亡处理逻辑
初始化英雄时添加复活次数属性
修改英雄死亡事件触发条件为复活次数耗尽
移除HeroViewComp中重复的死亡事件触发
2026-01-03 19:58:12 +08:00
walkpan
4a2768cb13 refactor(游戏逻辑): 统一使用is_master判断玩家角色并简化暂停逻辑
将多处使用FacSet.HERO判断玩家角色的代码改为使用is_master属性
将stop_mon_action控制逻辑简化为统一的pause状态管理
在MissionComp初始化时确保pause状态正确重置
2026-01-03 19:33:53 +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
b8fb70c0cf feat(战斗系统): 实现英雄复活机制并优化结算界面
- 在MissionComp中添加复活次数管理及复活成功回调
- 修改VictoryComp支持复活功能,包括广告复活和英雄状态恢复
- 调整结算界面布局和按钮显示逻辑
- 优化游戏结束流程,合并FightEnd逻辑
- 修改HeroViewComp中realDeadTime为更合理的值
2026-01-03 18:50:00 +08:00
walkpan
cade854fc7 feat(游戏事件): 添加复活成功事件并优化英雄死亡逻辑
- 在GameEvent枚举中添加ReviveSuccess事件
- 在SingletonModuleComp中添加score字段用于记录分数
- 移除HeroViewComp中无用的战斗结束相关代码
- 优化英雄死亡逻辑,只有主角死亡才触发游戏结束判定
2026-01-03 18:05:32 +08:00
walkpan
08c153ee5d fix(战斗系统): 修复角色状态切换和击退效果的问题
- 在HeroMove和MonMove系统中增加攻击状态检查,避免攻击时被错误切换为待机状态
- 为HeroAtkSystem添加受击者击退效果
- 优化HeroViewComp的击退逻辑,包括英雄和怪物,并修复重复触发问题
- 修复怪物死亡后状态切换问题
2026-01-03 13:41:08 +08:00
walkpan
1cce4ce361 feat(英雄系统): 添加英雄复活机制并控制怪物行为
实现英雄复活功能,当英雄死亡且有复活次数时延迟复活
新增is_reviving状态标记复活中状态
英雄死亡或复活时通过stop_mon_action控制怪物停止刷新和移动
2026-01-03 11:17:04 +08:00
walkpan
56452795bb feat(英雄系统): 实现英雄升级和经验系统
- 在 HeroViewComp 中扩展怪物死亡事件数据,包含等级和类型信息
- 在 SingletonModuleComp 中实现完整的经验计算和升级逻辑
- 在 MissionComp 中添加经验获取和升级事件处理
- 在 RogueConfig 中添加经验计算公式和怪物经验配置
- 添加等级同步机制防止ECS数据覆盖
2026-01-03 10:09:35 +08:00
walkpan
c94255cc02 fix: 修复英雄销毁和任务开始时的残留问题
在Hero.ts中增加销毁节点的逻辑,防止视觉残留
在MissionComp.ts中清理回调函数和组件,避免上一局残留影响新局
2026-01-03 09:17:53 +08:00
walkpan
a758d48914 refactor(battle): 使用GameConst统一管理魔法数字
将战斗系统中的硬编码数字替换为GameConst中的常量定义,包括AI检测频率、技能延迟、索敌范围等
2026-01-03 09:05:13 +08:00
walkpan
c948c3e0bd feat(英雄技能): 添加AI检测计时器并优化技能目标选择逻辑
为HeroSkillsComp添加ai_timer属性用于AI行为降频处理,每0.2秒执行一次技能检测
优化SACastSystem中技能目标选择逻辑,移除冗余的类型转换并明确SkillConfig类型
2026-01-03 08:28:49 +08:00
walkpan
a9884cf020 fix: 移除施法起始位置的Y轴偏移
施法起始位置的Y轴偏移30是多余的,直接使用施法者位置即可
2026-01-03 00:03:51 +08:00
walkpan
19d36a8532 fix: 调整技能施放时的高度偏移量从50降至30
统一技能施放和目标检测时的高度偏移量,使逻辑更加一致
2026-01-03 00:01:26 +08:00
walkpan
8780086b50 fix(hero): 移除蓝条显示逻辑及相关更新检查
由于怪物不需要显示蓝条,直接移除蓝条的显示逻辑及相关更新检查,简化代码
2026-01-03 00:01:17 +08:00
walkpan
0a7903f138 refactor(英雄系统): 优化技能距离计算和伤害处理逻辑
移除getMaxSkillDistance方法的MP参数,改为内部处理
在应用伤害后添加英雄数据更新到VM的操作
2026-01-02 23:53:19 +08:00
walkpan
7cb87433a1 feat(技能系统): 实现技能移动系统并优化位置计算
- 新增SMoveSystem处理技能移动逻辑,支持多种移动类型
- 使用Vec3.lerp优化直线运动的位置计算
- 调整技能起始位置y轴偏移量
- 为线性移动类型添加方向旋转功能
2026-01-02 23:52:52 +08:00
walkpan
27ad7784c9 refactor(HeroMove): 移除不必要的朝向缓存优化逻辑
简化英雄移动系统,删除currentFacing缓存和setFacing方法
2026-01-02 23:38:47 +08:00
walkpan
81f55a796d refactor(hero): 优化英雄对象池管理及视图初始化
- 在Monster类中实现多键对象池管理,提升英雄节点复用效率
- 将HeroViewComp的初始化逻辑提取到独立init方法,便于对象池复用时重置状态
- 移除HeroSpine中冗余的onDestroy方法
- 修复HeroViewComp中方向缩放计算问题,确保scale.x为正
- 优化碰撞体启用逻辑,延迟一帧确保物理系统正确注册
- 清理HeroViewComp中残留的定时器和缓动
2026-01-02 23:27:05 +08:00
walkpan
2c7a628921 refactor(技能系统): 移除技能MP消耗相关逻辑
技能系统不再需要处理MP消耗,简化了技能施放和检查逻辑
2026-01-02 23:10:44 +08:00
walkpan
7d947db6b5 fix(英雄系统): 修复技能消耗和MP更新逻辑
移除怪物不消耗MP的特殊处理,统一使用add_mp方法更新MP值
更新刘邦的技能配置,修正重复技能ID问题
2026-01-02 22:50:07 +08:00
walkpan
f5ded0d314 refactor(hero): 重构英雄属性同步机制和任务组件
- 在HeroAttrsComp中添加smc.updateHeroInfo调用以同步英雄数据
- 移除MissionComp中冗余的UI状态管理代码
- 在SingletonModuleComp中新增updateHeroInfo方法集中处理英雄数据同步
- 调整heroSet中英雄基础防御值为0
- 添加任务时间倒计时功能
2026-01-02 22:12:43 +08:00
walkpan
a9e7b5c464 feat(英雄): 添加is_master参数控制英雄主从状态
修改Hero类的load方法和MissionHeroComp类的addHero方法,增加is_master参数
用于区分主控英雄和从属英雄,取代之前硬编码的true值
2026-01-02 19:28:43 +08:00
walkpan
c40414173d refactor(tooltip): 优化提示系统使用对象池并改进动画效果
重构提示系统,引入对象池管理节点提升性能,改进动画效果包括缩放、位移和淡出,调整提示位置和层级防止重叠,修复父节点翻转时的显示问题
2026-01-02 17:27:53 +08:00
walkpan
ebd67472c7 refactor(英雄视图): 优化血条显示逻辑
将基于持续时间的血条显示机制改为基于最后更新时间
初始隐藏血条,仅在属性更新时显示
添加2秒无更新自动隐藏功能
2026-01-02 15:50:12 +08:00
walkpan
e9abbefe9d fix(英雄技能系统): 修复怪物释放技能时消耗蓝量的问题
修改技能释放逻辑,当单位是怪物时使用无限蓝量进行检查且不扣除蓝量
2026-01-02 15:23:25 +08:00
walkpan
7b69700f14 fix(英雄视图): 修复怪物显示蓝条的问题
根据角色阵营决定是否显示蓝条,仅英雄角色显示
2026-01-02 15:19:50 +08:00
walkpan
ed728bd1b9 fix(碰撞处理): 增加防御性检查并优化英雄死亡时的碰撞体处理
在SkillView中添加对目标实体是否存在的检查,避免访问已销毁实体
在HeroViewComp中死亡时禁用碰撞体,防止"尸体"参与后续碰撞
2026-01-02 15:08:30 +08:00
walkpan
f3039eb47b feat(怪物): 添加怪物y轴移动逻辑和死亡时间优化
为怪物添加y轴移动能力,使其能够向目标y坐标移动。同时优化怪物死亡时间,使用单独的monDeadTime变量控制怪物死亡时间,区别于英雄的realDeadTime。主要修改包括:
1. 在MonMoveComp中添加targetY字段用于y轴移动目标
2. 实现y轴移动逻辑和位置检查
3. 为HeroViewComp添加monDeadTime字段并应用
2026-01-02 14:53:44 +08:00
walkpan
ffa6bbec6f feat(战斗系统): 扩展为4条战斗线路并调整相关配置
- 将战斗线路从2条扩展为4条,新增LINE3和LINE4
- 修改Monster生成逻辑以支持4条线路
- 更新英雄刘邦的技能配置
- 调整基础攻击技能消耗为0
- 更新地图预制体以包含新增线路
2026-01-02 00:03:07 +08:00
walkpan
95f216e6e7 feat(怪物系统): 添加游戏时间参数影响怪物属性计算
在怪物加载和生成逻辑中添加gameTime参数,用于动态成长系统根据游戏时间调整怪物属性
2026-01-01 23:39:22 +08:00
walkpan
0cbc8f9905 feat(怪物系统): 实现动态成长属性和改进刷怪逻辑
- 在Mon.ts中使用新的getMonAttr获取动态成长属性,包括速度
- 重构MissionMonComp.ts的刷怪逻辑,使用配置中的位置信息
- 重写RogueConfig.ts,实现基于波次和时间的动态属性成长系统
- 移除未使用的随机事件相关代码,简化刷怪队列结构
2026-01-01 23:28:02 +08:00
walkpan
5e9494e4f8 refactor(战斗系统): 简化属性系统并移除魔法相关属性
移除魔法攻击(MAP)、魔法防御(MDEF)、元素抗性等冗余属性
将伤害减免统一由DEF属性处理,重命名CRITICAL_RESIST为CRITICAL_RES
更新相关技能、天赋和怪物配置以适应新的属性系统
删除未使用的职业成长系数配置和基础属性映射逻辑
2026-01-01 22:08:26 +08:00
walkpan
fa0c6dbf94 fix(技能系统): 修复治疗和护盾效果不触发的问题并调整技能配置
修改SACastSystem中add_hp和add_shield方法的参数,使治疗和护盾效果能够正确触发
调整技能6102和6103的配置,包括冷却时间和buff类型
2026-01-01 15:06:50 +08:00
walkpan
a156ddfc2f feat(技能系统): 添加buff技能支持并增强属性变更日志
添加buff技能类型支持,包括目标选择、施放逻辑和效果应用
在HeroAttrsComp中增加属性变更的详细日志输出
为治疗和护盾技能添加执行日志
2026-01-01 14:40:13 +08:00
walkpan
c9fdca90fb feat(技能系统): 优化技能逻辑并添加新技能配置
- 将hasAllyInSkillRange重命名为hasTeamInSkillRange以更好反映功能
- 修正治疗和护盾技能的计算公式,改为基于最大生命值的百分比
- 为所有技能添加10点消耗值
- 新增6102和6103两个团队增益技能配置
- 注释掉物理调试绘制代码
- 添加游戏设计文档初始内容
2026-01-01 14:02:23 +08:00
walkpan
7a6d04f6c9 fix(英雄攻击系统): 添加护盾状态脏标记以同步状态变化
在护盾完全或部分吸收伤害时,设置dirty_shield标记以确保状态同步
2026-01-01 13:37:25 +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
7f64e1c4b9 refactor(hero): 简化护盾显示逻辑并移除冗余检查
移除对top_node活跃状态的冗余检查,直接使用其活跃状态作为前置条件
合并护盾显示的条件判断,简化进度条更新逻辑
2025-12-31 16:43:47 +08:00
panw
d915dfa121 fix(hero): 修正攻击和buff动画的播放条件
将攻击和buff动画的播放条件从检查"atk0"和"buff"改为检查"max0"是否正在播放,避免动画冲突
2025-12-31 16:09:58 +08:00
panw
b0b31bf81f feat(英雄组件): 重构HeroAttrsComp解耦数据与表现层
- 移除HeroAttrsComp中对HeroViewComp的直接依赖,改为脏标签机制
- HeroViewComp改为在update中检查脏标签按需更新UI
- 优化护盾显示逻辑,即使top_node不活跃也更新状态
- 消除双重UI更新,提升性能
2025-12-31 16:07:19 +08:00
panw
e1e156fa5b refactor(hero): 移除视图层直接更新逻辑,使用脏标签机制
- 在HeroViewComp中移除hp_show和mp_show的直接调用
- 在HeroAttrsComp中不再直接调用视图层方法
- 使用脏标签机制(dirty flag)来触发UI更新
2025-12-31 15:51:06 +08:00
panw
05b82a912a perf(英雄属性): 使用脏标签模式优化属性UI更新性能
在 HeroAttrsComp 中添加脏标签标记,仅在属性变化时更新UI
移除 HeroViewComp 中每帧不必要的UI更新调用
添加文档说明优化方案
2025-12-31 14:49:53 +08:00
panw
bb0ed6a9c3 refactor(hero): 重命名属性事件队列并添加添加方法
将 HeroAttrEvent 类中的 AttrEvent 属性重命名为 AttrEvents 以更符合命名规范
添加 addAttrEvent 方法以封装事件添加逻辑
移除不必要的注释以保持代码简洁
2025-12-31 14:16:44 +08:00
panw
707f8ab1cb feat(hero): 添加英雄属性事件处理系统及组件
添加 HeroAttrEvent 组件用于存储属性变更事件队列
添加 HeroAttrEventSystem 系统用于处理属性变更事件并更新角色属性
2025-12-31 10:56:42 +08:00
panw
785b92d2ba fix(天赋系统): 修复天赋计数配置失效和key混用问题
- 在TalComp.addTal中正确使用tConf.count作为初始计数,避免写死为1导致计数型天赋失效
- 统一使用Attrs枚举作为key,解决TalEffet和Attrs混用导致的天赋效果读取失败问题
2025-12-31 09:14:20 +08:00
walkpan
c48694c8ed fix(英雄属性): 修复百分比属性计算错误并统一数值格式
refactor(配置表): 将百分比属性值从小数改为整数形式
fix(技能): 修正回血回蓝天赋的百分比值从1%改为10%
fix(护盾): 添加百分比护盾值计算
style(资源): 移除角色控制器中无用的_atlas引用
chore(元数据): 添加Design2和Design3的元数据文件
2025-12-30 22:47:13 +08:00