import { _decorator,Button,EventHandler,EventTouch,Label,NodeEventType,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 { smc } from "../common/SingletonModuleComp"; import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/Oops"; import { RandomManager } from "../../../../extensions/oops-plugin-framework/assets/core/common/random/RandomManager"; import { SkillSet } from "../common/config/SkillSet"; import { HeroModelComp } from "../hero/HeroModelComp"; import { RewardSet } from "../common/config/RewardSet"; import { GameSet } from "../common/config/BoxSet"; import { GameMap } from "./GameMap"; import { MapModelComp } from "./model/MapModelComp"; import { Talent } from "../Role/Talent"; import { Talents } from "../common/config/TalentSet"; import { HeroViewComp } from "../hero/HeroViewComp"; import { BossViewComp } from "../Boss/BossViewComp"; import { Position } from "../../../../extensions/oops-plugin-framework/assets/libs/gui/badge/Badge"; const { ccclass, property } = _decorator; /** 视图层对象 */ @ccclass('CardControllerComp') @ecs.register('CardController', false) export class CardControllerComp extends CCComp { touch_time:number = 0 in_touch:boolean = false bbg:any=null bbg_y:number=60 bbg_x:any=[-300,-150,0,150,300] protected onLoad(): void { this.bbg=this.node.getChildByName("bar").getChildByName("bbg") } start() { this.bbg=this.node.getChildByName("bar").getChildByName("bbg") this.bbg.setPosition(v3(this.bbg_x[2],this.bbg_y)) this.page_init() } show_info(uuid:number,type:number){ console.log("show_info",uuid) } protected update(dt: number): void { if(smc.vmdata.game_over||smc.vmdata.game_pause){ return } } page_init(){ this.node.getChildByName("mission_home").active=true; this.node.getChildByName("hero_home").setPosition(v3(1000,this.node.getChildByName("hero_home").position.y)) this.node.getChildByName("shop_home").setPosition(v3(1000,this.node.getChildByName("shop_home").position.y)) this.node.getChildByName("battle_home").setPosition(v3(1000,this.node.getChildByName("battle_home").position.y)) this.node.getChildByName("skill_home").setPosition(v3(1000,this.node.getChildByName("skill_home").position.y)) this.node.getChildByName("mission").active = false; } bar_change(e:any,args:any){ console.log("bar_change",args) this.node.getChildByName("mission_home").active=true; this.node.getChildByName("bar").active=true; this.bbg.setPosition(v3(this.bbg_x[2],this.bbg_y)) this.node.getChildByName("mission").active = false; this.node.getChildByName("hero_home").setPosition(v3(2000,this.node.getChildByName("hero_home").position.y)) this.node.getChildByName("shop_home").setPosition(v3(2000,this.node.getChildByName("shop_home").position.y)) this.node.getChildByName("battle_home").setPosition(v3(2000,this.node.getChildByName("battle_home").position.y)) this.node.getChildByName("skill_home").setPosition(v3(2000,this.node.getChildByName("skill_home").position.y)) switch(args){ case "hero": this.node.getChildByName("hero_home").setPosition(v3(0,this.node.getChildByName("hero_home").position.y)) this.bbg.setPosition(v3(this.bbg_x[1],this.bbg_y)) break; case "shop": this.node.getChildByName("shop_home").setPosition(v3(0,this.node.getChildByName("shop_home").position.y)) this.bbg.setPosition(v3(this.bbg_x[0],this.bbg_y)) break; case "battle": // this.node.getChildByName("battle_home").setPosition(v3(0,this.node.getChildByName("battle_home").position.y)) // this.bbg.setPosition(v3(this.bbg_x[4],this.bbg_y)) oops.gui.toast("暂未开放") break; case "skill": this.node.getChildByName("skill_home").setPosition(v3(0,this.node.getChildByName("skill_home").position.y)) this.bbg.setPosition(v3(this.bbg_x[3],this.bbg_y)) break; } } mission_start(){ this.node.getChildByName("bar").active=false; this.node.getChildByName("mission_home").active=false; this.node.getChildByName("mission").active = true; smc.mission.play = true; // oops.message.dispatchEvent("mission_start") } to_mission(){ this.bar_change(null,"home") this.node.getChildByName("bar").active=true; // tween(this.bbg).to(0.1,{Position:v3(this.bbg_x[2],this.bbg_y)}).start() this.bbg.setPosition(this.bbg_x[2],this.bbg_y) } /** 视图对象通过 ecs.Entity.remove(ControllerComp) 删除组件是触发组件处理自定义释放逻辑 */ reset() { this.node.destroy(); } }