- 删除SkillEnt.ts及其meta文件,简化技能实体管理 - 将SDataCom重命名为更清晰的DmgDataCom和SDataCom - 重构伤害计算系统,增加命中检测和伤害类型处理 - 优化技能碰撞检测逻辑,支持范围伤害和数量限制
51 lines
1.4 KiB
TypeScript
51 lines
1.4 KiB
TypeScript
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
|
|
import { BoxSet } from "../common/config/BoxSet";
|
|
import { HeroViewComp } from "../hero/HeroViewComp";
|
|
|
|
/** 业务层对象 */
|
|
//技能数据
|
|
@ecs.register('SDataCom')
|
|
export class SDataCom extends ecs.Comp {
|
|
/** 业务层组件移除时,重置所有数据为默认值 */
|
|
Attrs:any=null
|
|
caster:HeroViewComp=null
|
|
group:BoxSet=BoxSet.HERO
|
|
fac: number = 0; // 0:hero 1:monster
|
|
s_uuid:number=0
|
|
hit_count:number=0 //击中数量
|
|
reset() {
|
|
this.Attrs=null
|
|
this.group=BoxSet.HERO
|
|
this.fac=0
|
|
this.s_uuid=0
|
|
this.caster=null
|
|
this.hit_count=0
|
|
}
|
|
}
|
|
//伤害数据
|
|
@ecs.register('DmgDataCom')
|
|
export class DmgDataCom extends ecs.Comp {
|
|
/** 业务层组件移除时,重置所有数据为默认值 */
|
|
Attrs:any=null
|
|
caster:HeroViewComp=null
|
|
s_uuid:number=0
|
|
reset() {
|
|
this.Attrs=null
|
|
this.s_uuid=0
|
|
this.caster=null
|
|
}
|
|
}
|
|
|
|
// /** 业务层业务逻辑处理对象 */
|
|
// export class SDataComSystem extends ecs.ComblockSystem implements ecs.IEntityEnterSystem {
|
|
// filter(): ecs.IMatcher {
|
|
// return ecs.allOf(SDataCom);
|
|
// }
|
|
|
|
// entityEnter(e: ecs.Entity): void {
|
|
// // 注:自定义业务逻辑
|
|
|
|
|
|
// e.remove(SDataCom);
|
|
// }
|
|
// }
|