dd
This commit is contained in:
@@ -16,6 +16,7 @@ import { RoleSpine } from "./RoleSpine";
|
||||
import { RoleViewComp } from "./RoleViewComp";
|
||||
import { BoxSet } from "../common/config/BoxSet";
|
||||
import { HeroModelComp } from "../hero/HeroModelComp";
|
||||
import { Talents } from "../common/config/TalentSet";
|
||||
/** 角色实体 */
|
||||
@ecs.register(`Role`)
|
||||
export class Role extends ecs.Entity {
|
||||
@@ -51,28 +52,30 @@ export class Role extends ecs.Entity {
|
||||
hero_init(uuid:number=1001,node:Node,pos:Vec3=v3(0,0,0)){
|
||||
var rv = node.getComponent(RoleViewComp)!;
|
||||
let role=smc.vm_data.role;
|
||||
let role_talent= smc.vm_data.talent
|
||||
let talents=Talents;
|
||||
rv.hero_uuid=uuid;
|
||||
rv.speed =rv.ospeed = role.speed;
|
||||
rv.atk_dis = role.atk_dis;
|
||||
rv.hero_name= "role";
|
||||
rv.hp= rv.hp_max = role.hp*(1+smc.vm_data.talent[1].bonus*smc.vm_data.talent[1].lv);
|
||||
rv.level = role.lv;
|
||||
rv.atk = role.atk*(1+smc.vm_data.talent[2].bonus*smc.vm_data.talent[2].lv);
|
||||
rv.atk_cd = role.atk_cd*(1-smc.vm_data.talent[3].bonus*smc.vm_data.talent[3].lv);
|
||||
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.skill1 = role.skill1;
|
||||
rv.skill1.cd=rv.skill1.cd_max=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=rv.skill1.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=rv.skill1.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=rv.skill1.cd_max*(1-smc.vm_data.talent[4].bonus*smc.vm_data.talent[4].lv)
|
||||
rv.skill3 = role.skill3;
|
||||
rv.skill4 = role.skill4;
|
||||
rv.skill5 = role.skill5;
|
||||
rv.skill5.cd=rv.skill5.cd_max=rv.skill1.cd_max*(1-smc.vm_data.talent[4].bonus*smc.vm_data.talent[4].lv)
|
||||
rv.skill = role.skill;
|
||||
rv.skill1.cd=rv.skill1.cd_max=rv.skill1.cd_max*(1-talents[1004].bonus*role_talent[1004].lv)
|
||||
rv.skill2.cd=rv.skill2.cd_max=rv.skill1.cd_max*(1-talents[1004].bonus*role_talent[1004].lv)
|
||||
rv.skill3.cd=rv.skill3.cd_max=rv.skill1.cd_max*(1-talents[1004].bonus*role_talent[1004].lv)
|
||||
rv.skill4.cd=rv.skill4.cd_max=rv.skill1.cd_max*(1-talents[1004].bonus*role_talent[1004].lv)
|
||||
rv.skill5.cd=rv.skill5.cd_max=rv.skill1.cd_max*(1-talents[1004].bonus*role_talent[1004].lv)
|
||||
rv.hp= rv.hp_max = role.hp*(1+talents[1001].bonus*role_talent[1001].lv);
|
||||
rv.atk = role.atk*(1+talents[1002].bonus*role_talent[1002].lv);
|
||||
rv.atk_cd = role.atk_cd*(1-talents[1003].bonus*role_talent[1003].lv);
|
||||
rv.st_boncus=1+talents[1005].bonus*role_talent[1005].lv;
|
||||
rv.s_boncus=1+talents[1006].bonus*role_talent[1006].lv;
|
||||
rv.box_group = BoxSet.HERO;
|
||||
this.add(rv);
|
||||
}
|
||||
|
||||
@@ -10,7 +10,9 @@ export class Talent extends ecs.Entity {
|
||||
/** ---------- 数据层 ---------- */
|
||||
|
||||
TalentView!: TalentComp
|
||||
protected init() {
|
||||
|
||||
}
|
||||
destroy(): void {
|
||||
this.remove(TalentComp);
|
||||
super.destroy();
|
||||
@@ -19,11 +21,14 @@ export class Talent extends ecs.Entity {
|
||||
/** 加载角色 */
|
||||
load(pos: Vec3 = Vec3.ZERO,uuid:number=101,parent:Node) {
|
||||
// var path = "game/monster/"+prefab_path;
|
||||
var path = "game/heros/role";
|
||||
var path = "game/talent";
|
||||
var prefab: Prefab = oops.res.get(path, Prefab)!;
|
||||
var node = instantiate(prefab);
|
||||
node.parent = parent;
|
||||
node.setScale(node.scale.x, node.scale.y, node.scale.z);
|
||||
node.setPosition(pos)
|
||||
console.log("load_talent",node)
|
||||
let tv = node.getComponent(TalentComp)!;
|
||||
tv.t_uuid = uuid;
|
||||
this.add(tv);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import { _decorator } from "cc";
|
||||
import { _decorator, Label } from "cc";
|
||||
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
|
||||
import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp";
|
||||
import { Talents } from "../common/config/TalentSet";
|
||||
import { smc } from "../common/SingletonModuleComp";
|
||||
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@@ -8,12 +10,35 @@ const { ccclass, property } = _decorator;
|
||||
@ccclass('TalentComp')
|
||||
@ecs.register('TalentView', false)
|
||||
export class TalentComp extends CCComp {
|
||||
t_uuid:number = 0;
|
||||
/** 视图层逻辑代码分离演示 */
|
||||
start() {
|
||||
// var entity = this.ent as ecs.Entity; // ecs.Entity 可转为当前模块的具体实体对象
|
||||
// this.on(ModuleEvent.Cmd, this.onHandler, this);
|
||||
let name =this.node.getChildByName("name")
|
||||
let info =this.node.getChildByName("info")
|
||||
let icon =this.node.getChildByName("icon")
|
||||
let cost =this.node.getChildByName("cost")
|
||||
let lv =this.node.getChildByName("lv")
|
||||
let talent= Talents[this.t_uuid]
|
||||
let role_talents = smc.vm_data.talent[talent.uuid]
|
||||
cost.getComponent(Label).string = (talent.cost*(1+role_talents.lv)).toString()
|
||||
name.getComponent(Label).string = talent.name
|
||||
info.getComponent(Label).string = talent.info
|
||||
lv.getComponent(Label).string = role_talents.lv.toString()
|
||||
if (talent.type == 1){
|
||||
this.node.getChildByName("role").active=true
|
||||
}
|
||||
|
||||
if (talent.type == 2){
|
||||
this.node.getChildByName("hero").active=true
|
||||
}
|
||||
|
||||
if (talent.type == 3){
|
||||
this.node.getChildByName("mission").active=true
|
||||
}
|
||||
}
|
||||
to_update_t(){
|
||||
console.log("to_update_t",this.t_uuid)
|
||||
}
|
||||
|
||||
/** 全局消息逻辑处理 */
|
||||
// private onHandler(event: string, args: any) {
|
||||
// switch (event) {
|
||||
|
||||
Reference in New Issue
Block a user