From 52cc2683687f1e88f389fbfd826cc7e75b826318 Mon Sep 17 00:00:00 2001 From: walkpan Date: Wed, 8 Jan 2025 23:59:41 +0800 Subject: [PATCH] dd --- .../script/game/common/SingletonModuleComp.ts | 4 + assets/script/game/common/config/SkillSet.ts | 80 +++++---- assets/script/game/common/config/heroSet.ts | 10 ++ assets/script/game/hero/HeroViewComp.ts | 162 ++++++++++++++---- assets/script/game/map/MissionComp.ts | 22 +++ assets/script/game/skills/Skill.ts | 1 + assets/script/game/skills/SkillCom.ts | 7 +- assets/script/game/skills/baseCom.ts | 60 ------- assets/script/game/skills/baseCom.ts.meta | 9 - 9 files changed, 213 insertions(+), 142 deletions(-) delete mode 100644 assets/script/game/skills/baseCom.ts delete mode 100644 assets/script/game/skills/baseCom.ts.meta diff --git a/assets/script/game/common/SingletonModuleComp.ts b/assets/script/game/common/SingletonModuleComp.ts index f7bbedbe..e3a66004 100644 --- a/assets/script/game/common/SingletonModuleComp.ts +++ b/assets/script/game/common/SingletonModuleComp.ts @@ -95,6 +95,10 @@ export class SingletonModuleComp extends ecs.Comp { heros_dead:any = [] hero_pos:any=[] enemy_pos:any =[] + hero_front_x:number = 0; + hero_back_x:number = 0; + mon_front_x:number = 0; + mon_back_x:number = 0; vmdata: any = { name : "纸片精灵大乱斗", game_over:false, diff --git a/assets/script/game/common/config/SkillSet.ts b/assets/script/game/common/config/SkillSet.ts index 594279e0..52fd8db6 100644 --- a/assets/script/game/common/config/SkillSet.ts +++ b/assets/script/game/common/config/SkillSet.ts @@ -1,19 +1,16 @@ /* type : - 1: 远距离攻击,碰撞后 结束 - 11:远距离攻击,从天降下 - 12:远距离攻击,目标点显现 - 2: 远距离攻击,碰撞后 持续,直到技能结束 - 3: 远距离攻击,碰撞后 持续,带击退功能 - 4: 双技能技能,1技能结束后,触发2技能 - 5: 特殊技能,触发特殊弹窗选项 - 6: 近距离攻击,碰撞后 - 9: buff物品, - 91: 单体buff,加最少血,临时 - 92:单体buff,随机或自己,临时 - 93: 群体buff物品 - 94:role buff + 1:最前排 + 2:最后排 + 3: 最少血 + 4:最高血 + 5:近战 + 6:远程 + 7: 辅助 + 8: 随机 + tg: 对象,0 自己,1:同伴 ,2 自己和同伴,3:敌人,4,自己和对人 + dis: 是否移动 1 移动 0 原地 sd: 卡片技能图标持续时间 cd: 卡片技能释放本技能cd @@ -24,56 +21,79 @@ sk_uuid:子技能id sk_count:子技能个数 sp_name : 预制体名称 path: 图片地址 -run:number = 0; // 0有目标 带方向,1贝塞尔曲线 2 不动 ,3 直线 +run:number = 0;0:碰撞不消亡 1:碰撞即消亡 debuff: 0depb:50,:无,1:冰,2:灼烧,3:眩晕,4:降低攻击,5:降低hp,6:降低防御,7:吸血,8:击退 */ + +export enum SkTG { + self = 0, + friend= 1, + team= 2, + enemy= 3, + all= 4, +} +export enum SkType { + frontRow = 1, + backRow = 2, + leastHealth = 3, + highestHealth = 4, + melee = 5, + ranged = 6, + support = 7, + random = 8, + all = 9, +} +export enum skRun { + runing = 0, + dead = 1, +} export const SkillSet={ - 6001:{uuid: 6001,path: "6001",type: 1,tg:3,debuff:0,depb:50,debtime:2,derate:1,name: "寒冰弹",sp_name:"ball_blue",info:"释放一个火球术攻击敌人", + 6001:{uuid: 6001,path: "6001",run:1,type:1,tg:3,debuff:0,depb:50,debtime:2,derate:1,name: "寒冰弹",sp_name:"ball_blue",info:"释放一个火球术攻击敌人", in:0.8,count:1,apup:0,ap:1,hp:0,cd:1,shield:0,speed:450, sonsk:0}, - 6002:{uuid: 6002,path: "6002",type: 1,tg:3,debuff:0,depb:50,debtime:2,derate:1,name: "火焰弹",sp_name:"ball_red",info:"释放一个火球术攻击敌人", + 6002:{uuid: 6002,path: "6002",run:1,type:1,tg:3,debuff:0,depb:50,debtime:2,derate:1,name: "火焰弹",sp_name:"ball_red",info:"释放一个火球术攻击敌人", in:0.8,count:1,apup:0,ap:1,hp:0,cd:1,shield:0,speed:450, sonsk:0}, - 6003:{uuid: 6003,path: "6003",type: 1,tg:3,debuff:0,depb:50,debtime:2,derate:1,name: "魔法弹",sp_name:"ball_green",info:"释放一个火球术攻击敌人", + 6003:{uuid: 6003,path: "6003",run:1,type:1,tg:3,debuff:0,depb:50,debtime:2,derate:1,name: "魔法弹",sp_name:"ball_green",info:"释放一个火球术攻击敌人", in:0.8,count:1,apup:0,ap:1,hp:0,cd:1,shield:0,speed:450, sonsk:0}, - 6004:{uuid: 6004,path: "6004",type: 1,tg:3,debuff:0,depb:50,debtime:2,derate:1,name: "圣光弹",sp_name:"ball_yellow",info:"释放一个火球术攻击敌人", + 6004:{uuid: 6004,path: "6004",run:1,type:1,tg:3,debuff:0,depb:50,debtime:2,derate:1,name: "圣光弹",sp_name:"ball_yellow",info:"释放一个火球术攻击敌人", in:0.8,count:1,apup:0,ap:1,hp:0,cd:1,shield:0,speed:450, sonsk:0}, - 6005:{uuid: 6005,path: "6005",type: 1,tg:3,debuff:0,depb:50,debtime:2,derate:1,name: "无形剑气",sp_name:"patk",info:"释放无形剑气攻击前方直线100码的敌人", + 6005:{uuid: 6005,path: "6005",run:1,type:1,tg:3,debuff:0,depb:50,debtime:2,derate:1,name: "无形剑气",sp_name:"patk",info:"释放无形剑气攻击前方直线100码的敌人", in:0.8,count:1,apup:0,ap:1,hp:0,cd:1,shield:0,speed:450,sonsk:0}, - 6006:{uuid: 6006,path: "6006",type: 1,tg:3,debuff:0,depb:50,debtime:2,derate:1,name: "射击",sp_name:"arrow",info:"释放无形剑气攻击前方直线100码的敌人", + 6006:{uuid: 6006,path: "6006",run:1,type:1,tg:3,debuff:0,depb:50,debtime:2,derate:1,name: "射击",sp_name:"arrow",info:"释放无形剑气攻击前方直线100码的敌人", in:0.8,count:1,apup:0,ap:1,hp:0,cd:1,shield:0,speed:450,sonsk:0}, - 6011:{uuid: 6011,path: "6011",type: 2,tg:3,debuff:0,depb:50,debtime:2,derate:1,name: "烈火呼吸",sp_name:"firequan",info:"释放烈火剑气攻击前方地方,对前方敌人造成3段伤害", + 6011:{uuid: 6011,path: "6011",run:0,type:1, tg:3,debuff:0,depb:50,debtime:2,derate:1,name: "烈火呼吸",sp_name:"firequan",info:"释放烈火剑气攻击前方地方,对前方敌人造成3段伤害", in:3,count:1,apup:0,ap:2,hp:0,cd:0.5,shield:0,speed:100,sonsk:0}, - 6012:{uuid: 6012,path: "6012",type: 2,tg:3,debuff:2,depb:50,debtime:6,derate:1,name: "大火球",sp_name:"fire",info:"释放有形剑气攻击前方直线300码的敌人", + 6012:{uuid: 6012,path: "6012",run:0,type:1, tg:3,debuff:2,depb:50,debtime:6,derate:1,name: "大火球",sp_name:"fire",info:"释放有形剑气攻击前方直线300码的敌人", in:1,count:1,apup:0,ap:1,hp:0,cd:1,shield:0,speed:450,sonsk:0}, - 6013:{uuid: 6013,path: "6013",type: 2,tg:3,debuff:7,depb:50,debtime:2,derate:0.01,name: "火墙",sp_name:"fires",info:"释放有形剑气攻击前方直线300码的敌人", + 6013:{uuid: 6013,path: "6013",run:0,type:1, tg:3,debuff:7,depb:50,debtime:2,derate:0.01,name: "火墙",sp_name:"fires",info:"释放有形剑气攻击前方直线300码的敌人", in:10,count:1,apup:0,ap:1,hp:0,cd:1,shield:0,speed:450,sonsk:0}, - 6014:{uuid: 6014,path: "6014",type: 2,tg:3,debuff:1,depb:50,debtime:2,derate:1,name: "冰破术",sp_name:"ice",info:"释放有形剑气攻击前方直线300码的敌人", + 6014:{uuid: 6014,path: "6014",run:0,type:1, tg:3,debuff:1,depb:50,debtime:2,derate:1,name: "冰破术",sp_name:"ice",info:"释放有形剑气攻击前方直线300码的敌人", in:1,count:1,apup:0,ap:2,hp:0,cd:1,shield:0,speed:450,sonsk:0}, - 6015:{uuid: 6015,path: "6015",type: 2,tg:3,debuff:3,depb:50,debtime:6,derate:1,name: "火焰射击",sp_name:"arrow_yellow",info:"释放有形剑气攻击前方直线300码的敌人", + 6015:{uuid: 6015,path: "6015",run:0,type:1, tg:3,debuff:3,depb:50,debtime:6,derate:1,name: "火焰射击",sp_name:"arrow_yellow",info:"释放有形剑气攻击前方直线300码的敌人", in:1,count:1,apup:0,ap:2,hp:0,cd:1,shield:0,speed:450,sonsk:0}, - 6016:{uuid: 6016,path: "6016",type: 2,tg:3,debuff:8,depb:50,debtime:6,derate:1,name: "龙卷风",sp_name:"bwind",info:"释放有形剑气攻击前方直线300码的敌人", + 6016:{uuid: 6016,path: "6016",run:0,type:1, tg:3,debuff:8,depb:50,debtime:6,derate:1,name: "龙卷风",sp_name:"bwind",info:"释放有形剑气攻击前方直线300码的敌人", in:1,count:1,apup:0,ap:2,hp:0,cd:1,shield:0,speed:300,sonsk:0}, - 6017:{uuid: 6017,path: "6017",type: 91,tg:2,debuff:0,depb:50,debtime:2,derate:1,name: "治愈术",sp_name:"heath",info:"释放一个寒冰箭攻击敌人", + 6017:{uuid: 6017,path: "6017",run:0,type:1, tg:2,debuff:0,depb:50,debtime:2,derate:1,name: "治愈术",sp_name:"heath",info:"释放一个寒冰箭攻击敌人", in:10,count:1,apup:0,ap:1,hp:3,cd:1,shield:0,speed:450, sonsk:0}, - 6018:{uuid: 6018,path: "6018",type: 91,tg:0,debuff:0,depb:50,debtime:2,derate:1,name: "魔法盾",sp_name:"shield",info:"释放一个寒冰箭攻击敌人", + 6018:{uuid: 6018,path: "6018",run:0,type:1, tg:0,debuff:0,depb:50,debtime:2,derate:1,name: "魔法盾",sp_name:"shield",info:"释放一个寒冰箭攻击敌人", in:0.8,count:1,apup:0,ap:1,hp:0,cd:1,shield:1,speed:450, sonsk:0}, - 6019:{uuid: 6019,path: "6019",type: 91,tg:0,debuff:0,depb:50,debtime:2,derate:1,name: "狂暴",sp_name:"atkup",info:"释放一个寒冰箭攻击敌人", + 6019:{uuid: 6019,path: "6019",run:0,type:1, tg:0,debuff:0,depb:50,debtime:2,derate:1,name: "狂暴",sp_name:"atkup",info:"释放一个寒冰箭攻击敌人", in:0.8,count:1,apup:0,ap:1,hp:0,cd:1,shield:0,speed:450, sonsk:0}, - 6020:{uuid: 6020,path: "6014",type: 81,tg:3,debuff:0,depb:50,debtime:0,derate:0,name: "阻击",sp_name:"okill",info:"释放有形剑气攻击前方直线300码的敌人", + 6020:{uuid: 6020,path: "6014",run:2,type:2,tg:3,debuff:0,depb:50,debtime:0,derate:0,name: "阻击",sp_name:"okill",info:"释放有形剑气攻击前方直线300码的敌人", in:1,count:1,apup:0,ap:2,hp:0,cd:1,shield:0,speed:450,sonsk:0}, diff --git a/assets/script/game/common/config/heroSet.ts b/assets/script/game/common/config/heroSet.ts index fe1eefa0..62fb9ab9 100644 --- a/assets/script/game/common/config/heroSet.ts +++ b/assets/script/game/common/config/heroSet.ts @@ -46,6 +46,16 @@ import { Talents } from "./TalentSet" * lv : 1 精英 2史诗 3 传说 * kind :1 火 2 水 3 气 **/ +export enum HeroKind { + fire = 1, + water = 2, + air = 3, +} +export enum HeroType { + fire = 1, + water = 2, + air = 3, +} export const HeroInfo = { //坦克, 高防 ,攻击时有可能冲击目标,造成70% 攻击伤害 5001: { diff --git a/assets/script/game/hero/HeroViewComp.ts b/assets/script/game/hero/HeroViewComp.ts index 79503357..53b19d15 100644 --- a/assets/script/game/hero/HeroViewComp.ts +++ b/assets/script/game/hero/HeroViewComp.ts @@ -17,13 +17,15 @@ import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/O import { Skill } from "../skills/Skill"; import { Timer } from "../../../../extensions/oops-plugin-framework/assets/core/common/timer/Timer"; import { SkillCom } from "../skills/SkillCom"; -import { SkillSet } from "../common/config/SkillSet"; +import { SkillSet, SkTG, SkType } from "../common/config/SkillSet"; import { Tooltip } from "../skills/Tooltip"; import { RandomManager } from "../../../../extensions/oops-plugin-framework/assets/core/common/random/RandomManager"; import { TimerManager } from "../../../../extensions/oops-plugin-framework/assets/core/common/timer/TimerManager"; import { HeroSet } from "../common/config/heroSet"; import { BuffComp } from "./BuffComp"; import { BossList } from "../common/config/MissionSet"; +import { Monster } from "./Mon"; +import { MonModelComp } from "./MonModelComp"; const { ccclass, property } = _decorator; /** 角色显示组件 */ @@ -272,28 +274,30 @@ export class HeroViewComp extends CCComp { } } check_enemy_alive(){ - let dir = 720 - let enemys=smc.enemy_pos - this.enemy = v3(720,this.node.position.y) + // let dir = 720 + // let enemys=smc.enemy_pos + // this.enemy = v3(720,this.node.position.y) + // if(this.box_group == BoxSet.MONSTER){ + // enemys=smc.hero_pos + // // console.log("MONSTER enemys",enemys); + // this.enemy=v3(-720,this.node.position.y) + // } + // for (let i = 0; i < enemys.length; i++) { + // let ho:any = enemys[i]; + // let x=Math.abs(ho.x-this.node.position.x) + // if(x < dir){ + // dir = x + // this.enemy = ho + // } + // } + let dir = Math.abs(smc.mon_front_x-this.node.position.x) if(this.box_group == BoxSet.MONSTER){ - enemys=smc.hero_pos - // console.log("MONSTER enemys",enemys); - this.enemy=v3(-720,this.node.position.y) + dir = Math.abs(smc.hero_front_x-this.node.position.x) } - for (let i = 0; i < enemys.length; i++) { - let ho:any = enemys[i]; - let x=Math.abs(ho.x-this.node.position.x) - if(x < dir){ - dir = x - this.enemy = ho - } - } - if(dir < this.dis){ this.is_atking=true if(this.dis-dir > 80 &&this.type > 0 ) this.stop_cd = 0.1 if(dir < 65 &&this.type == 0 ) this.stop_cd = 0.1 - }else{ this.is_atking=false } @@ -322,6 +326,14 @@ export class HeroViewComp extends CCComp { console.log(this.hero_name+":"+this.uuid+"enemy ="+this.enemy.x+" x"+this.node.position.x+" t_pos"+t_pos); return t_pos } + get_back_enemy_pos(hero:any){ + let t_pos:Vec3 = v3(720,0) + if(this.enemy){ + t_pos = v3(this.enemy.x,this.enemy.y) + } + console.log(this.hero_name+":"+this.uuid+"enemy ="+this.enemy.x+" x"+this.node.position.x+" t_pos"+t_pos); + return {t_pos} + } get_hero_pos(hero:any){ let t_pos:Vec3 = v3(-720,0) if(!hero.node.isValid){ @@ -530,21 +542,20 @@ export class HeroViewComp extends CCComp { this.as.max() this.at = 0; this.BUFFCOMP.tooltip(3,SkillSet[skill].name,skill); - switch (SkillSet[skill].tg) { - case 0: //自己 + case SkTG.self: //自己 this.do_add_buff(this.node.getComponent(HeroViewComp),skill) break; - case 1: //伙伴 + case SkTG.friend: //伙伴 this.check_other_buff(skill) break; - case 2: //自己和伙伴 + case SkTG.team: //自己和伙伴 this.do_all_buff(skill) break; - case 3: //敌人 + case SkTG.enemy: //敌人 this.shoot_enemy(skill) break; - case 4: //敌人和自己 + case SkTG.all: //敌人和自己 this.do_add_buff(this.node.getComponent(HeroViewComp),skill) this.shoot_enemy(skill) break; @@ -555,9 +566,15 @@ export class HeroViewComp extends CCComp { check_other_buff(skill:number){ let heros:any = ecs.query(ecs.allOf(HeroModelComp)); let least_hp:number=0 + let hight_hp:number=9999999999 + let right_x:number=360 + let left_x:number=-360 + if(this.box_group==BoxSet.MONSTER){ + heros=ecs.query(ecs.allOf(MonModelComp)) + } let t_hero:any= null if (heros.length > 0) { - if(SkillSet[skill].type==92){ //随机添加buff + if(SkillSet[skill].type==SkType.random){ //随机添加buff let i = RandomManager.instance.getRandomInt(0,heros.length-1,3) while(!heros[i].HeroView){ i = RandomManager.instance.getRandomInt(0,heros.length-1,3) @@ -570,12 +587,68 @@ export class HeroViewComp extends CCComp { for (let i = 0; i < heros.length; i++) { if(!heros[i].HeroView) continue let hero = heros[i].HeroView; - if(SkillSet[skill].type==91){ //血量最少单体 - if((hero.rhp_max-hero.hp) > least_hp){ - least_hp = (hero.rhp_max-hero.hp) - t_hero = hero - } - } + switch(SkillSet[skill].type){ + case SkType.leastHealth: //血量最少单体 + if((hero.rhp_max-hero.hp) > least_hp){ + least_hp = (hero.rhp_max-hero.hp) + t_hero = hero + } + break; + case SkType.highestHealth: //血量最多单体 + if((hero.rhp_max-hero.hp) < hight_hp){ + hight_hp = (hero.rhp_max-hero.hp) + t_hero = hero + } + break; + case SkType.frontRow: //最前排 + if(hero.node.position.x > left_x){ + left_x = hero.node.position.x + t_hero = hero + } + if(this.box_group==BoxSet.MONSTER){ + if(hero.node.position.x < right_x){ + right_x = hero.node.position.x + t_hero = hero + } + } + break; + case SkType.backRow: //最后排 + if(hero.node.position.x < right_x){ + right_x = hero.node.position.x + t_hero = hero + } + if(this.box_group==BoxSet.MONSTER){ + if(hero.node.position.x > left_x){ + left_x = hero.node.position.x + t_hero = hero + } + } + break; + } + // if(SkillSet[skill].type==SkType.leastHealth){ //血量最少单体 + // if((hero.rhp_max-hero.hp) > least_hp){ + // least_hp = (hero.rhp_max-hero.hp) + // t_hero = hero + // } + // } + // if(SkillSet[skill].type==SkType.highestHealth){ //血量最多单体 + // if((hero.rhp_max-hero.hp) < hight_hp){ + // hight_hp = (hero.rhp_max-hero.hp) + // t_hero = hero + // } + // } + // if(SkillSet[skill].type==SkType.frontRow){ //最前排 + // if(hero.node.position.x > left_x){ + // left_x = hero.node.position.x + // t_hero = hero + // } + // } + // if(SkillSet[skill].type==SkType.backRow){ //最后排 + // if(hero.node.position.x < right_x){ + // right_x = hero.node.position.x + // t_hero = hero + // } + // } //todo 最前排 最后排 远程 近战 辅助 } if(t_hero){ //存在目标 @@ -585,7 +658,6 @@ export class HeroViewComp extends CCComp { } } - } do_all_buff(sk:number){ let skill = ecs.getEntity(Skill); @@ -602,16 +674,30 @@ export class HeroViewComp extends CCComp { shoot_enemy(sk:number,y:number=0,x:number=0){ // console.log("mon shoot_enemy"); let skill = ecs.getEntity(Skill); - let t_pos=this.get_enemy_pos() - if(SkillSet[sk].type==81){ - //获取最远敌军位置 + let t_pos=v3(smc.mon_front_x,BoxSet.GAME_LINE) + if(this.box_group==BoxSet.MONSTER){ + t_pos=v3(smc.hero_front_x,BoxSet.GAME_LINE) + } + switch(SkillSet[sk].type){ + case SkType.leastHealth: //血量最少单体 + + break; + case SkType.highestHealth: //血量最多单体 + + break; + case SkType.backRow: //最后排 + t_pos=v3(smc.mon_back_x,BoxSet.GAME_LINE) + if(this.box_group==BoxSet.MONSTER){ + t_pos=v3(smc.hero_back_x,BoxSet.GAME_LINE) + } + break; } let pos =this.skill_pos() pos.y=this.node.position.y + y pos.x=this.node.position.x + x let is_crit=this.check_crit() skill.load(pos,this.box_group,this.node,sk,this.ap_max,t_pos,is_crit,this.crit_add); - this.to_console(this.scale+this.hero_name+"使用技能:"+sk+" t_pos:"+t_pos+" box:"+this.box_group,); + this.to_console(this.scale+this.hero_name+"使用技能:"+sk+SkillSet[sk].name+" t_pos:"+t_pos+" box:"+this.box_group,); } do_add_buff(hero:any,sk:number){ let skill = ecs.getEntity(Skill); @@ -620,7 +706,7 @@ export class HeroViewComp extends CCComp { this.to_console("do_add_buff:"+hero.hero_name+" "+sk); let is_crit=this.check_crit() skill.load(pos,this.box_group,this.node,sk,this.ap_max,t_pos,is_crit,this.crit_add); - this.to_console(this.scale+this.hero_name+"使用buff:"+sk+" t_pos:"+t_pos+" box:"+this.box_group,); + this.to_console(this.scale+this.hero_name+"使用buff:"+sk+SkillSet[sk].name+" t_pos:"+t_pos+" box:"+this.box_group,); } exp_add(exp:number=0){ @@ -720,8 +806,8 @@ export class HeroViewComp extends CCComp { this.node.setPosition(pos) } - to_console(value:any){ - console.log("["+this.scale+this.hero_name+']'+value) + to_console(value:any,value2:any=null,value3:any=null){ + console.log("["+this.scale+this.hero_name+']'+value,value2,value3) } reset() { this.is_dead = false; diff --git a/assets/script/game/map/MissionComp.ts b/assets/script/game/map/MissionComp.ts index 703cb8b3..f1b99a70 100644 --- a/assets/script/game/map/MissionComp.ts +++ b/assets/script/game/map/MissionComp.ts @@ -234,20 +234,42 @@ export class MissionComp extends CCComp { return ecs.query(ecs.allOf(HeroModelComp)) } count_mon_pos(){ + let right_x:number=360 + let left_x:number=-360 let monsters:any= this.get_mons() for(let i=0;i left_x){ + left_x = monsters[i].HeroView.node.position.x + } + if(monsters[i].HeroView.node.position.x < right_x){ + right_x = monsters[i].HeroView.node.position.x + } } + smc.mon_front_x=right_x + smc.mon_back_x=left_x + // console.log("count_mon_pos",smc.mon_pos,smc.mon_front_x,smc.mon_back_x) } count_hero_pos(){ + let right_x:number=360 + let left_x:number=-360 let heros:any= this.get_heros() for(let i=0;i left_x){ + left_x = heros[i].HeroView.node.position.x + } + if(heros[i].HeroView.node.position.x < right_x){ + right_x = heros[i].HeroView.node.position.x + } } + smc.hero_front_x=left_x + smc.hero_back_x=right_x + // console.log("count_hero_pos",smc.hero_pos,smc.hero_front_x,smc.mon_front_x) } mon_refresh(){ diff --git a/assets/script/game/skills/Skill.ts b/assets/script/game/skills/Skill.ts index 211fc525..8ffdbfa6 100644 --- a/assets/script/game/skills/Skill.ts +++ b/assets/script/game/skills/Skill.ts @@ -51,6 +51,7 @@ export class Skill extends ecs.Entity { sv.debuff = SkillSet[uuid].debuff; sv.depb = SkillSet[uuid].depb; sv.derate = SkillSet[uuid].derate; + sv.run = SkillSet[uuid].run; sv.is_crit=is_crit sv.crit_add=crit_add // node.setScale(v3(node.scale.x*scale,node.scale.y)) diff --git a/assets/script/game/skills/SkillCom.ts b/assets/script/game/skills/SkillCom.ts index 3b79753b..65fa2403 100644 --- a/assets/script/game/skills/SkillCom.ts +++ b/assets/script/game/skills/SkillCom.ts @@ -35,6 +35,7 @@ export class SkillCom extends CCComp { box_group:number = 0; box_tag:number=0; type:number = 1; + run:number = 0; tg:number = 3; in_time:number = 0.3; // 不动技能持续时间 enemys:any = []; @@ -65,13 +66,9 @@ export class SkillCom extends CCComp { // } - if(this.type==1 ){ + if(this.run==1 ){ this.is_destroy=true } - // console.log("skill onBeginContact",seCol.group,otCol.group) - // if(this.type==1 ){ - // this.is_destroy=true - // } } if(otCol.group == seCol.group&&otCol.tag ==0&&this.tg==2){ this.to_console("skill onBeginContact 是对自己人的buff",seCol,otCol) diff --git a/assets/script/game/skills/baseCom.ts b/assets/script/game/skills/baseCom.ts deleted file mode 100644 index 4a6ee2e9..00000000 --- a/assets/script/game/skills/baseCom.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { _decorator, Component, Node, tween ,Vec3,v3,Collider2D,Contact2DType} from 'cc'; -import { BoxSet } from '../common/config/BoxSet'; -import { Timer } from 'db://oops-framework/core/common/timer/Timer'; -const { ccclass, property } = _decorator; - -@ccclass('baseCom') -export class baseCom extends Component { - s_uuid:number = 0; - speed:number = 200; - y_speed:number = 0; - x_speed:number = 0; - dis:number = 80; - scale:number = 1; - ap:number = 10; - atk_count:number = 0; - is_crit:boolean = false; - crit_add: number = 0;//暴击伤害加成 - angle:number = 0; - t_pos:Vec3 = v3(0,0,0); // 目标增量 - is_destroy:boolean = false; - box_group:number = 0; - box_tag:number=0; - type:number = 1; - time:Timer = new Timer(0.01); - run_type:number = 0; // 0有目标 带方向,1贝塞尔曲线 2 不动 ,3 直线 - in_time:number = 0.3; // 不动技能持续时间 - start() { - console.log("baseCom start") - let collider = this.getComponent(Collider2D); - collider.group = this.box_group; - collider.tag = this.box_tag; - collider.sensor = true; - if (collider) { - collider.on(Contact2DType.BEGIN_CONTACT, this.onBeginContact, this); - // collider.on(Contact2DType.END_CONTACT, this.onEndContact, this); - collider.on(Contact2DType.POST_SOLVE, this.onPostSolve, this); - } - } - onBeginContact (selfCollider: Collider2D, otherCollider: Collider2D) { - if(otherCollider.group != selfCollider.group&&otherCollider.tag ==0){ - this.atk_count+=1 - // console.log("skill onBeginContact",selfCollider.group,otherCollider.group) - if(this.type==1 ){ - this.is_destroy=true - } - } - } - onPostSolve (selfCollider: Collider2D, otherCollider: Collider2D) { - - } - reset() { - this.node.destroy(); - } - - update(deltaTime: number) { - - } -} - - diff --git a/assets/script/game/skills/baseCom.ts.meta b/assets/script/game/skills/baseCom.ts.meta deleted file mode 100644 index d4e8a42f..00000000 --- a/assets/script/game/skills/baseCom.ts.meta +++ /dev/null @@ -1,9 +0,0 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "89c1ceaf-2ca4-4954-88e7-542fae21fa14", - "files": [], - "subMetas": {}, - "userData": {} -}