import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS"; export enum DamageType { Physical = 1, Magic = 2, True = 3 } /** 伤害请求组件 */ @ecs.register('DamageRequest') export class DamageRequest extends ecs.Comp { source!: ecs.Entity; // 伤害来源 target!: ecs.Entity; // 伤害目标 baseValue!: number; // 基础伤害值 damageType: number = 1; // 伤害类型 canCrit: boolean = true; // 是否可暴击 ignoreDefense: boolean = false; // 是否忽略防御 reset() { this.source = null!; this.target = null!; this.baseValue = 0; this.damageType = 1; this.canCrit = true; this.ignoreDefense = false; } } /** 伤害结果组件 */ @ecs.register('DamageResult') export class DamageResult extends ecs.Comp { finalDamage: number = 0; isCrit: boolean = false; isDodged: boolean = false; reset(finalDamage: number = 0, isCrit: boolean = false, isDodged: boolean = false) { this.finalDamage = finalDamage; this.isCrit = isCrit; this.isDodged = isDodged; } }