31 lines
914 B
TypeScript
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);
|
|
});
|
|
}
|
|
}
|