feat(battle): 重构技能施放与战斗距离系统
- 新增技能距离缓存机制,根据英雄类型动态计算最小和最大攻击范围 - 重构SCastSystem实现完整的技能施放逻辑,支持伤害、治疗、护盾和buff技能 - 在Hero和Monster初始化时调用updateSkillDistanceCache预计算技能距离 - 修改HeroMoveSystem和MonMoveSystem使用动态战斗范围,支持撤退逻辑 - 优化Skill实体创建,增加对象池支持 - 添加技能CD触发方法和状态检查方法
This commit is contained in:
@@ -71,9 +71,11 @@ export class Skill extends ecs.Entity {
|
||||
mLogger.error(this.debugMode, 'Skill', "[Skill] 预制体加载失败:", path);
|
||||
return;
|
||||
}
|
||||
const node: Node = instantiate(prefab);
|
||||
const node: Node = Skill.getFromPool(path) || instantiate(prefab);
|
||||
this.prefabPath = path;
|
||||
this.skillNode = node;
|
||||
var scene = smc.map.MapView.scene;
|
||||
node.parent = scene.entityLayer!.node!.getChildByName("SKILL")!;
|
||||
node.parent = scene.entityLayer!.node!.getChildByName("SKILL") || parent;
|
||||
// 设置节点属性
|
||||
let face=caster.node.scale.x < 0 ? -1 : 1
|
||||
node.setScale(v3(node.scale.x*face,node.scale.y,1))
|
||||
|
||||
Reference in New Issue
Block a user