feat(battle): 重构技能施放与战斗距离系统

- 新增技能距离缓存机制,根据英雄类型动态计算最小和最大攻击范围
- 重构SCastSystem实现完整的技能施放逻辑,支持伤害、治疗、护盾和buff技能
- 在Hero和Monster初始化时调用updateSkillDistanceCache预计算技能距离
- 修改HeroMoveSystem和MonMoveSystem使用动态战斗范围,支持撤退逻辑
- 优化Skill实体创建,增加对象池支持
- 添加技能CD触发方法和状态检查方法
This commit is contained in:
walkpan
2026-03-12 09:13:28 +08:00
parent ce2cd05ba9
commit 5d09b3361e
7 changed files with 194 additions and 35 deletions

View File

@@ -125,6 +125,7 @@ export class Monster extends ecs.Entity {
// ✅ 初始化技能数据(迁移到 HeroSkillsComp
if(hero.skills[0]) model.atk_id=hero.skills[0]
if(hero.skills[1]) model.skill_id=hero.skills[1]
model.updateSkillDistanceCache(model.skill_id || model.atk_id);
this.add(view);
@@ -178,4 +179,4 @@ export class MonLifecycleSystem extends ecs.ComblockSystem
mLogger.log(this.debugMode, 'MonLifecycleSystem', `怪物离开世界: 实体ID ${e.eid}`);
}
}
}
}