技能系统 初步搭建,下步 伤害系统
This commit is contained in:
@@ -85,12 +85,43 @@ export class Hero extends ecs.Entity {
|
||||
this.add(hv);
|
||||
|
||||
// 初始化多个技能组件
|
||||
const skillsComp = this.get(HeroSkillsComp);
|
||||
// 正确初始化已有技能
|
||||
hero.skills.forEach(skillId => {
|
||||
this.addSkill(skillId); // 使用addSkill方法确保初始化
|
||||
});
|
||||
|
||||
// 初始化移动参数
|
||||
const move = this.get(BattleMoveComp);
|
||||
move.direction = 1; // 向右移动
|
||||
move.targetX = 800; // 右边界
|
||||
}
|
||||
|
||||
// 添加技能
|
||||
public addSkill(skillId: number) {
|
||||
const comp = this.get(HeroSkillsComp);
|
||||
if (comp.skills.indexOf(skillId) === -1) {
|
||||
comp.skills.push(skillId);
|
||||
comp.cooldowns.set(skillId, 0);
|
||||
comp.counters.set(skillId, 0);
|
||||
console.log(`技能${skillId}初始化完成`,
|
||||
'当前cooldowns:', comp.cooldowns,
|
||||
'当前counters:', comp.counters);
|
||||
}
|
||||
}
|
||||
|
||||
// 移除技能
|
||||
public removeSkill(skillId: number) {
|
||||
const comp = this.get(HeroSkillsComp);
|
||||
comp.skills = comp.skills.filter(id => id !== skillId);
|
||||
}
|
||||
|
||||
public levelUp() {
|
||||
// ...升级逻辑...
|
||||
const comp = this.get(HeroSkillsComp);
|
||||
comp.skills.forEach(skillId => {
|
||||
comp.resetCooldown(skillId);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user