技能继续调整

This commit is contained in:
walkpan
2025-11-01 11:15:11 +08:00
parent 47509af7a1
commit 2b8ba46759
19 changed files with 999 additions and 150 deletions

View File

@@ -3,6 +3,8 @@ import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ec
import { BezierMove } from "../BezierMove/BezierMove";
import { RType, SkillSet } from "../common/config/SkillSet";
import { BoxSet } from "../common/config/BoxSet";
import { ECSEntity } from "db://oops-framework/libs/ecs/ECSEntity";
import { SkillView } from "./SkillView";
/**
* 技能移动数据组件
* 存储技能实体的移动相关数据
@@ -48,17 +50,19 @@ export class SMoveDataComp extends ecs.Comp {
}
}
// /** 业务层业务逻辑处理对象 */
// export class SMoveSystem extends ecs.ComblockSystem implements ecs.IEntityEnterSystem {
// filter(): ecs.IMatcher {
// return ecs.allOf(SMoveDataComp);
// }
// entityEnter(e: ecs.Entity): void {
// // 注:自定义业务逻辑
// let s_uuid=e.get(SMoveDataComp).s_uuid
// let SConf=SkillSet[s_uuid]
/** 业务层业务逻辑处理对象 */
export class SMoveSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate {
filter(): ecs.IMatcher {
return ecs.allOf(SMoveDataComp,SkillView);
}
entityEnter(e: ecs.Entity): void {
// 注:自定义业务逻辑
let s_uuid=e.get(SMoveDataComp).s_uuid
let SConf=SkillSet[s_uuid]
// e.remove(SMoveDataComp);
// }
}
update(entity: ECSEntity): void {
}
// }
}

View File

@@ -56,6 +56,7 @@ export class Skill extends ecs.Entity {
// 初始视图
const SView = node.getComponent(SkillView);
console.log("load skill SView",SView)
// 只设置必要的运行时属性,配置信息通过 SkillSet[uuid] 访问
// 核心标识
SView.s_uuid= s_uuid

View File

@@ -66,8 +66,10 @@ export class SkillView extends CCComp {
}
onBeginContact (seCol: Collider2D, oCol: Collider2D) {
// console.log(this.scale+"碰撞开始 ",seCol,oCol);
if(seCol.node.position.x-oCol.node.position.x > 100 ) return
if(this.endType!=EType.collision) return
let target = oCol.getComponent(HeroViewComp)
let model=target.ent.get(HeroAttrsComp)
if(model.is_dead) return
if(oCol.group!=this.group){
if(target == null) return;
if (!this.SConf) return;
@@ -139,8 +141,9 @@ export class SkillView extends CCComp {
// 收集范围内所有敌方目标
enemys.some(e => {
const view = e.get(HeroViewComp);
const model=e.get(HeroAttrsComp)
const distance = Math.abs(this.node.position.x - view.node.position.x);
if(distance <= dis) {
if(distance <= dis&&!model.is_dead) {
IRTargets.push(view);
}