refactor(英雄技能): 重构技能系统以支持多技能和独立冷却

- 将 HeroAttrsComp 中的单一攻击/技能ID重构为技能数组,支持多个技能
- 为每个技能添加独立的冷却计时和最大冷却时间
- 修改 SCastSystem 以支持多技能选择和冷却检查
- 更新 HeroViewComp 显示当前展示技能的冷却进度
- 统一英雄和怪物初始化技能的方式,使用 setSkills 方法
- 移除 heroSet 配置中的 as/ss 字段,改为 cds 数组
- 修改 Skill 实体加载,传递 HeroAttrsComp 用于技能伤害计算
This commit is contained in:
walkpan
2026-03-22 13:35:25 +08:00
parent 218703be6b
commit be4884d28a
7 changed files with 134 additions and 113 deletions

View File

@@ -79,15 +79,9 @@ export class Hero extends ecs.Entity {
model.ap = hero.ap*model.lv;
model.hp= model.hp_max = hero.hp*model.lv;
model.speed = hero.speed;
model.a_cd_max=hero.as
model.s_cd_max=hero.ss
// 初始化技能信息数组
if(hero.skills[0]) model.atk_id=hero.skills[0]*model.lv
let s_lv=hero.skills[model.lv]?model.lv:1
if(hero.skills[s_lv]) {
model.skill_id=hero.skills[s_lv]
}
model.updateSkillDistanceCache(model.skill_id || model.atk_id);
model.setSkills(hero.skills, hero.cds);
model.skill_lvs=hero.slvs
model.updateSkillDistanceCache();
// 初始化 buff/debuff 系统
model.initAttrs();