清理 老的 没用的组件
This commit is contained in:
@@ -11,7 +11,6 @@ import { CCComp } from 'db://oops-framework/module/common/CCComp';
|
||||
import { MonModelComp } from './MonModelComp';
|
||||
import { HeroModelComp } from './HeroModelComp';
|
||||
import { FightSet } from '../common/config/Mission';
|
||||
import { MasterModelComp } from './MasterModel';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('SkillCon')
|
||||
@@ -21,23 +20,12 @@ export class SkillConComp extends CCComp {
|
||||
HeroEntity:any=null;
|
||||
skill_cd=0
|
||||
private _timers: { [key: string]: number } = {};
|
||||
private _damageQueue: Array<{ timer: number; callback: () => void }> = [];
|
||||
|
||||
aoe_queues:any[]=[] // 范围伤害技能执行队列
|
||||
private aoe_timers: Map<number, number> = new Map(); // 每个技能的独立计时器
|
||||
private readonly AOE_INTERVAL: number = 0.4; // 执行间隔,单位秒
|
||||
private skill_id_counter: number = 0; // 技能ID计数器
|
||||
aoe_target_pos:Vec3=new Vec3(180,40,0)
|
||||
|
||||
|
||||
init(): void {
|
||||
this.on(GameEvent.FightEnd, this.clear_timer, this);
|
||||
|
||||
}
|
||||
onLoad(){
|
||||
this.HeroView=this.node.getComponent(HeroViewComp)
|
||||
// //console.log(this.HeroView.uid+"=>"+this.HeroView.hero_name+"=> SkillConComp onLoad")
|
||||
|
||||
|
||||
}
|
||||
start() {
|
||||
@@ -60,34 +48,6 @@ export class SkillConComp extends CCComp {
|
||||
}
|
||||
}
|
||||
|
||||
if (this.aoe_queues.length > 0) {
|
||||
//console.log("[FightConComp]:aoe_queues:",this.aoe_queues)
|
||||
|
||||
// 遍历所有必杀技技能,更新它们的计时器
|
||||
for (let i = this.aoe_queues.length - 1; i >= 0; i--) {
|
||||
let skill = this.aoe_queues[i];
|
||||
let timer = this.aoe_timers.get(skill.id) || 0;
|
||||
|
||||
timer += dt;
|
||||
this.aoe_timers.set(skill.id, timer);
|
||||
|
||||
// 检查是否到达执行间隔
|
||||
if (timer >= this.AOE_INTERVAL) {
|
||||
// 重置计时器
|
||||
this.aoe_timers.set(skill.id, 0);
|
||||
|
||||
// 执行技能
|
||||
this.aoe_skill_execute(skill);
|
||||
skill.count--;
|
||||
|
||||
// 如果技能执行完毕,从队列中移除
|
||||
if (skill.count <= 0) {
|
||||
this.aoe_queues.splice(i, 1);
|
||||
this.aoe_timers.delete(skill.id);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -211,42 +171,7 @@ export class SkillConComp extends CCComp {
|
||||
return pos
|
||||
}
|
||||
|
||||
private aoe_skill_execute(data:any){
|
||||
let skill=ecs.getEntity<Skill>(Skill)
|
||||
let master = ecs.query(ecs.allOf(MasterModelComp))
|
||||
|
||||
// 检查必要参数
|
||||
if (!master || master.length === 0) {
|
||||
console.error("[FightConComp] 未找到主角实体");
|
||||
return;
|
||||
}
|
||||
|
||||
let masterView = master[0].get(HeroViewComp);
|
||||
if (!masterView) {
|
||||
console.error("[FightConComp] 主角视图组件获取失败");
|
||||
return;
|
||||
}
|
||||
|
||||
let angle=0
|
||||
let targets = this.pickRandomTarget(data.count)
|
||||
let target_pos= new Vec3(0,0,0)
|
||||
if(targets.length==0){
|
||||
target_pos=this.aoe_target_pos
|
||||
}else{
|
||||
target_pos= new Vec3(targets[0].get(HeroViewComp).node.position.x,0,0)
|
||||
}
|
||||
let start_pos=new Vec3(-280,50,0)
|
||||
// //console.log("[Skill]:node=>",start_pos)
|
||||
skill.load(
|
||||
start_pos,
|
||||
this.node.parent,
|
||||
data.s_uuid,
|
||||
target_pos,
|
||||
masterView,
|
||||
angle,
|
||||
data.damage
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/** 随机选择目标 */
|
||||
private pickRandomTarget(count: number): ecs.Entity[] {
|
||||
@@ -276,9 +201,6 @@ export class SkillConComp extends CCComp {
|
||||
|
||||
reset() {
|
||||
this.clear_timer();
|
||||
this.aoe_queues = [] // 清空技能队列
|
||||
this.aoe_timers = new Map(); // 重置计时器
|
||||
this.skill_id_counter = 0; // 重置技能ID计数器
|
||||
}
|
||||
|
||||
onDestroy() {
|
||||
|
||||
Reference in New Issue
Block a user