Files
heros/assets/script/game/skill/heroSkillsComp.ts

31 lines
914 B
TypeScript

import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
@ecs.register('HeroSkills')
export class HeroSkillsComp extends ecs.Comp {
/** 当前拥有的技能ID列表 */
skills: number[] = [];
/** 技能冷却计时器 [技能ID:剩余冷却时间] */
cooldowns: Map<number, number> = new Map();
/** 技能触发计数器 [技能ID:触发次数] */
counters: Map<number, number> = new Map();
reset() {
this.skills = [];
this.cooldowns.clear();
this.counters.clear();
}
/** 重置指定技能冷却 */
resetCooldown(skillId: number) {
if (this.cooldowns.has(skillId)) {
this.cooldowns.set(skillId, 0);
}
}
/** 重置所有技能冷却 */
resetAllCooldowns() {
this.cooldowns.forEach((value, key) => {
this.cooldowns.set(key, 0);
});
}
}