import { _decorator,Collider2D ,Contact2DType,v3,IPhysics2DContact,Vec3, tween, Label,resources,SpriteFrame,Sprite} 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 { BoxSet } from "../common/config/BoxSet"; import { smc } from "../common/SingletonModuleComp"; import { Timer } from "../../../../extensions/oops-plugin-framework/assets/core/common/timer/Timer"; import { SkillSet } from "../common/config/SkillSet"; const { ccclass, property } = _decorator; /** 视图层对象 */ @ccclass('TooltipCom') @ecs.register('TooltipView', false) export class TooltipCom extends CCComp { /** 视图层逻辑代码分离演示 */ // start() { // // var entity = this.ent as ecs.Entity; // ecs.Entity 可转为当前模块的具体实体对象 // // this.on(ModuleEvent.Cmd, this.onHandler, this); // } stype:number = 1; // 1:减少生命值,2:增加生命值,3:技能图标 value:string = ""; s_uuid:number = 1001; alive_time:number = 1; skill_name_time=1; start() { this.node.getChildByName("loss_life").active=false; this.node.getChildByName("add_life").active=false this.node.getChildByName("skill").active=false; // console.log("TooltipView start",this.node); switch(this.stype){ case 1: this.node.getChildByName("loss_life").getChildByName("hp").getComponent(Label).string = this.value; this.node.getChildByName("loss_life").active=true; break case 2: this.node.getChildByName("add_life").getChildByName("hp").getComponent(Label).string = this.value; this.node.getChildByName("add_life").active=true; break case 3: // resources.load("game/heros/skill/"+smc.skills[this.s_uuid].path, SpriteFrame, (err, spriteFrame) => { // this.node.getChildByName("skill").getChildByName("icon").getComponent(Sprite).spriteFrame = spriteFrame; // }); this.node.getChildByName("skill").getChildByName("name").getComponent(Label).string = smc.skills[this.s_uuid].name; this.node.getChildByName("skill").active=true; // this.alive_time = 2 this.node.setPosition(v3(this.node.position.x,this.node.position.y+50)) break } } update(deltaTime: number) { this.node.setPosition(v3(this.node.position.x+deltaTime*20,this.node.position.y+deltaTime*50)) if(this.alive_time >=0){ this.alive_time -= deltaTime; }else{ this.ent.destroy(); } // if(this.skill_name_time >=0){ // this.skill_name_time -= deltaTime; // }else{ // if(this.node.getChildByName("skill").active== true){ // this.node.getChildByName("skill").getChildByName("name").active=false; // } // } } /** 视图对象通过 ecs.Entity.remove(ModuleViewComp) 删除组件是触发组件处理自定义释放逻辑 */ reset() { this.node.getChildByName("loss_life").active=false; this.node.getChildByName("add_life").active=false; this.node.getChildByName("skill").active=false; this.node.destroy(); } }