Files
heros/assets/script/game/battle/BattleEndSystem.ts

24 lines
731 B
TypeScript

import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
import { BattleState } from "./BattleStateComp";
import { DamageResult } from "../damage/DamageComp";
@ecs.register('BattleEndSystem')
export class BattleEndSystem extends ecs.ComblockSystem {
filter(): ecs.IMatcher {
return ecs.allOf(BattleState);
}
update(e: ecs.Entity) {
const state = e.get(BattleState);
if (state.isEnded) {
// 清理所有残留伤害组件
ecs.query(ecs.allOf(DamageResult)).forEach(entity => {
entity.remove(DamageResult);
});
// 重置战斗状态
state.isEnded = false;
}
}
}