技能 继续
This commit is contained in:
@@ -13,22 +13,21 @@ import { UIID } from "../common/config/GameUIConfig";
|
||||
import { smc } from "../common/SingletonModuleComp";
|
||||
import { RoleModelComp } from "./RoleModelComp";
|
||||
import { RoleSpine } from "./RoleSpine";
|
||||
import { MoveToComp } from "../common/ecs/position/MoveTo";
|
||||
import { RoleViewComp } from "./RoleViewComp";
|
||||
import { BoxSet } from "../common/config/BoxSet";
|
||||
import { HeroModelComp } from "../hero/HeroModelComp";
|
||||
/** 角色实体 */
|
||||
@ecs.register(`Role`)
|
||||
export class Role extends ecs.Entity {
|
||||
// 数据层
|
||||
RoleModel!: RoleModelComp;
|
||||
RoleMoveTo!: MoveToComp; // 移动
|
||||
|
||||
HeroModel!: HeroModelComp;
|
||||
// 视图层
|
||||
RoleView!: RoleViewComp;
|
||||
|
||||
protected init() {
|
||||
this.addComponents<ecs.Comp>(
|
||||
RoleModelComp);
|
||||
RoleModelComp,HeroModelComp);
|
||||
}
|
||||
|
||||
destroy(): void {
|
||||
@@ -62,20 +61,20 @@ export class Role extends ecs.Entity {
|
||||
rv.st_boncus=1+smc.vm_data.talent[15].bonus*smc.vm_data.talent[15].lv;
|
||||
rv.s_boncus=1+smc.vm_data.talent[16].bonus*smc.vm_data.talent[16].lv;
|
||||
rv.power = role.power;
|
||||
rv.skills = role.skills;
|
||||
for (let i = 0; i < rv.skills.length; i++) {
|
||||
rv.skills[i].cd*(1-smc.vm_data.talent[4].bonus*smc.vm_data.talent[4].lv)
|
||||
}
|
||||
rv.skill1 = role.skill1;
|
||||
rv.skill1.cd=rv.skill1.cd_max=1-smc.vm_data.talent[4].bonus*smc.vm_data.talent[4].lv
|
||||
rv.skill2 = role.skill2;
|
||||
rv.skill2.cd=rv.skill2.cd_max=1-smc.vm_data.talent[4].bonus*smc.vm_data.talent[4].lv
|
||||
rv.skill3 = role.skill3;
|
||||
rv.skill3.cd=rv.skill3.cd_max=1-smc.vm_data.talent[4].bonus*smc.vm_data.talent[4].lv
|
||||
rv.skill4 = role.skill4;
|
||||
rv.skill4.cd=rv.skill4.cd_max=1-smc.vm_data.talent[4].bonus*smc.vm_data.talent[4].lv
|
||||
rv.skill5 = role.skill5;
|
||||
rv.skill5.cd=rv.skill5.cd_max=1-smc.vm_data.talent[4].bonus*smc.vm_data.talent[4].lv
|
||||
rv.skill = role.skill;
|
||||
rv.box_group = BoxSet.HERO;
|
||||
this.add(rv);
|
||||
}
|
||||
move(target: Vec3) {
|
||||
var move = this.get(MoveToComp) || this.add(MoveToComp);
|
||||
move.target = target;
|
||||
move.node = this.RoleView.node;
|
||||
move.speed = 300;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -59,6 +59,11 @@ export class RoleViewComp extends CCComp {
|
||||
power_speed: number = 1; //能量回复速度每0.1秒回复量
|
||||
skill:8001;
|
||||
skills:any=[]
|
||||
skill1:any=[]
|
||||
skill2:any=[]
|
||||
skill3:any=[]
|
||||
skill4:any=[]
|
||||
skill5:any=[]
|
||||
st_boncus: number = 1; //技能持续时间加成
|
||||
s_boncus: number = 1; //技能效果加成
|
||||
buff_atks:any = [];
|
||||
@@ -179,16 +184,23 @@ export class RoleViewComp extends CCComp {
|
||||
this.check_enemys()
|
||||
}
|
||||
skill_cds(dt:number){
|
||||
this.skills.forEach((e:any) => {
|
||||
if(e.cd > 0&&e.alive){
|
||||
e.cd -= dt;
|
||||
if(e.cd <= 0){
|
||||
this.shoot(e.uuid);
|
||||
e.cd=smc.skills[e.uuid].cd
|
||||
console.log("shoot uuid :"+e.uuid);
|
||||
}
|
||||
}
|
||||
});
|
||||
this.skill1.cd -= dt;
|
||||
if(this.skill1.cd <= 0){
|
||||
this.shoot(this.skill1.uuid);
|
||||
this.skill1.cd=this.skill1.cd_max
|
||||
console.log("shoot uuid :"+this.skill1.uuid);
|
||||
}
|
||||
|
||||
// this.skills.forEach((e:any) => {
|
||||
// if(e.cd > 0&&e.alive){
|
||||
// e.cd -= dt;
|
||||
// if(e.cd <= 0){
|
||||
// this.shoot(e.uuid);
|
||||
// e.cd=smc.skills[e.uuid].cd
|
||||
// console.log("shoot uuid :"+e.uuid);
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
// console.log(this.skills);
|
||||
}
|
||||
check_enemys(){
|
||||
@@ -460,6 +472,8 @@ export class RoleViewComp extends CCComp {
|
||||
|
||||
}
|
||||
dead(){
|
||||
oops.message.dispatchEvent("minssion_defeat");
|
||||
|
||||
var path = "game/skills/dead";
|
||||
var prefab: Prefab = oops.res.get(path, Prefab)!;
|
||||
var node = instantiate(prefab);
|
||||
|
||||
Reference in New Issue
Block a user