import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS"; import { HeroViewComp } from "../hero/HeroViewComp"; import { DamageResult } from "./DamageComp"; @ecs.register('DamageShowSystem') export class DamageShowSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate { filter(): ecs.IMatcher { return ecs.allOf(DamageResult, HeroViewComp); } update(e: ecs.Entity) { const res = e.get(DamageResult); const view = e.get(HeroViewComp); // 显示伤害数字 view.showDamage(res.finalDamage, res.isCrit); // 移除已处理的伤害结果组件 e.remove(DamageResult); } }