21 lines
700 B
TypeScript
21 lines
700 B
TypeScript
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);
|
|
}
|
|
}
|