import { _decorator,Button,EventHandler,EventTouch,instantiate,Label,NodeEventType,Prefab,resources,Sprite,SpriteAtlas,tween,UITransform,v3 } 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 { HeroInfo, HeroList } from "../common/config/heroSet"; import { HeroCard } from "../hero/HeroCard"; import { smc } from "../common/SingletonModuleComp"; import { UIID } from "../common/config/GameUIConfig"; import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/Oops"; import { Items } from "../common/config/Items"; import { SkillSet } from "../common/config/SkillSet"; import { SlvSet } from "../common/config/RoleSet"; const { ccclass, property } = _decorator; /** 视图层对象 */ @ccclass('HeroHomeComp') @ecs.register('HeroHome', false) export class HeroHomeComp extends CCComp { h_uuid:number=0 protected onLoad(): void { } start() { // this.load_talents() console.log("hero_home start") this.h_uuid=9001 this.hero_show(this.h_uuid) this.loads() } loads(){ let heros:any=HeroList let hc:number =HeroList.length console.log("hero_home heros:",heros,hc) let parent= this.node.getChildByName("heros").getChildByName("view").getChildByName("content") parent.getComponent(UITransform).width=hc*150 console.log("parent:",parent) for (let i = 0; i < hc; i++) { let hcc =ecs.getEntity(HeroCard) hcc.load(HeroList[i],parent) } } hero_show(uuid:number) { console.log("hero_home hero_show:",uuid) let role = smc.heros[uuid] let hero =HeroInfo[uuid] this.h_uuid=uuid let slv_node=this.node.getChildByName("name").getChildByName("slv"); let tal=this.node.getChildByName("slvup").getChildByName("tal"); let sk_node= this.node.getChildByName("sk"); let skill = SkillSet[hero.sk2[0]] var sk_path = "game/skills/skill_icon" var icon_path = "game/heros/herois" resources.load(icon_path, SpriteAtlas, (err: any, atlas) => { const sprite = this.node.getChildByName("hero").getChildByName("icon").getComponent(Sprite); sprite.spriteFrame = atlas.getSpriteFrame(hero.path); }); resources.load(sk_path, SpriteAtlas, (err: any, atlas) => { const sprite = sk_node.getChildByName("skicon").getChildByName("Mask").getChildByName("icon").getComponent(Sprite); sprite.spriteFrame = atlas.getSpriteFrame(skill.path); }); sk_node.getChildByName("name").getComponent(Label).string = skill.name; sk_node.getChildByName("info").getComponent(Label).string = skill.info; this.node.getChildByName("name").getChildByName("value").getComponent(Label).string=hero.name this.node.getChildByName("name").getChildByName("lv").getComponent(Label).string = role.lv.toString()+"级"; if( role.slv>=1) {slv_node.getChildByName("s1").active=true}else{slv_node.getChildByName("s1").active=false}; if( role.slv>=2) {slv_node.getChildByName("s2").active=true}else{slv_node.getChildByName("s2").active=false}; if( role.slv>=3) {slv_node.getChildByName("s3").active=true}else{slv_node.getChildByName("s3").active=false}; if( role.slv>=4) {slv_node.getChildByName("s4").active=true}else{slv_node.getChildByName("s4").active=false}; if( role.slv>=5) {slv_node.getChildByName("s5").active=true}else{slv_node.getChildByName("s5").active=false}; this.node.getChildByName("attr").getChildByName("ap").getChildByName("val").getComponent(Label).string = hero.ap+hero.ap_up* role.lv this.node.getChildByName("attr").getChildByName("hp").getChildByName("val").getComponent(Label).string = hero.hp+hero.hp_up* role.lv this.node.getChildByName("attr").getChildByName("def").getChildByName("val").getComponent(Label).string = hero.ap+hero.ap_up* role.lv this.node.getChildByName("attr").getChildByName("acd").getChildByName("val").getComponent(Label).string = hero.a_cd this.node.getChildByName("attr").getChildByName("speed").getChildByName("val").getComponent(Label).string = hero.speed this.node.getChildByName("attr").getChildByName("dis").getChildByName("val").getComponent(Label).string = hero.dis tal.getChildByName("slv1").getChildByName("val").getComponent(Label).string = hero.tals[0] tal.getChildByName("slv2").getChildByName("val").getComponent(Label).string = hero.tals[1] tal.getChildByName("slv3").getChildByName("val").getComponent(Label).string = hero.tals[2] tal.getChildByName("slv4").getChildByName("val").getComponent(Label).string = hero.tals[3] tal.getChildByName("slv5").getChildByName("val").getComponent(Label).string = hero.tals[4] } lv_selcet(e:any,val:any){ let active = this.node.getChildByName("menu").getChildByName("active") tween(active).to(0.1,{position:v3(val,0)}).start() let hero = this.node.getChildByName("hero") let attr = this.node.getChildByName("attr") let info = this.node.getChildByName("info") let lvup = this.node.getChildByName("lvup") let sk = this.node.getChildByName("sk") let slvup = this.node.getChildByName("slvup") if(val < 0){ tween(hero).to(0.2,{position:v3(0,hero.position.y)}).start() tween(attr).to(0.2,{position:v3(0,attr.position.y)}).start() tween(info).to(0.2,{position:v3(0,info.position.y)}).start() tween(lvup).to(0.2,{position:v3(0,lvup.position.y)}).start() tween(sk).to(0.2,{position:v3(1000,sk.position.y)}).start() tween(slvup).to(0.2,{position:v3(1000,slvup.position.y)}).start() }else{ tween(hero).to(0.2,{position:v3(-1000,hero.position.y)}).start() tween(attr).to(0.2,{position:v3(-1000,attr.position.y)}).start() tween(info).to(0.2,{position:v3(-1000,info.position.y)}).start() tween(lvup).to(0.2,{position:v3(-1000,lvup.position.y)}).start() tween(sk).to(0.2,{position:v3(0,sk.position.y)}).start() tween(slvup).to(0.2,{position:v3(0,slvup.position.y)}).start() } } lv_up(){ console.log("升级",smc.vmdata.items[1001],smc.heros[this.h_uuid].lv*HeroInfo[this.h_uuid].lvexp) if(smc.vmdata.items[1001] < smc.heros[this.h_uuid].lv*HeroInfo[this.h_uuid].lvexp){ console.log("材料不足") return } smc.heros[this.h_uuid].lv++ smc.vmdata.items[1001] -= smc.heros[this.h_uuid].lv*HeroInfo[this.h_uuid].lvexp } slv_up(){ console.log("smc.vmdata.items[1004] SlvSet[smc.heros[this.h_uuid].slv]:",smc.vmdata.items[1004],SlvSet[smc.heros[this.h_uuid].slv]) if(smc.vmdata.items[1004] < SlvSet[smc.heros[this.h_uuid].slv]){ console.log("材料不足") return } smc.heros[this.h_uuid].slv++ smc.vmdata.items[1004] -= SlvSet[smc.heros[this.h_uuid].slv] } item_show(e:any,val:any){ oops.gui.open(UIID.ItemInfo, Items[val]); } reset() { this.node.destroy(); } }