import { _decorator ,v3,Prefab,instantiate,Node} 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 { oops } from "../../../../extensions/oops-plugin-framework/assets/core/Oops"; import { BoxSet } from "../common/config/BoxSet"; import { MapViewScene } from "./view/MapViewScene"; import { CSkill } from "../monster/CSkill"; const { ccclass, property } = _decorator; /** 视图层对象 */ @ccclass('MapSkillComp') @ecs.register('MapSkill', false) export class MapSkillComp extends CCComp { // scene: MapViewScene = null; @property(Prefab) light: Prefab = null; onLoad(){ oops.message.on("monster_load", this.doMonsterLoad, this); oops.message.on("hero_load", this.doHeroLoad, this); oops.message.on("do_use_skill", this.doSkill, this); } doSkill(){ this.addSkill(); } addSkill(uuid:number=1001){ let csk =ecs.getEntity(CSkill); let camp = 1 let pos = v3(BoxSet.CSKILL_X*-camp,BoxSet.CSKILL_Y) csk.load(pos,camp,uuid); } doMonsterLoad(){ // const light = instantiate(this.light); // light.setPosition(300,-30,0); // this.node.addChild(light); } doHeroLoad(){ console.log(this.light) const light = instantiate(this.light); light.setPosition(BoxSet.HERO_START,BoxSet.GAME_LINE,0); this.node.addChild(light); } /** 视图层逻辑代码分离演示 */ start() { // var entity = this.ent as ecs.Entity; // ecs.Entity 可转为当前模块的具体实体对象 // this.on(ModuleEvent.Cmd, this.onHandler, this); } /** 全局消息逻辑处理 */ // private onHandler(event: string, args: any) { // switch (event) { // case ModuleEvent.Cmd: // break; // } // } /** 视图对象通过 ecs.Entity.remove(ModuleViewComp) 删除组件是触发组件处理自定义释放逻辑 */ reset() { this.node.destroy(); } }