import { _decorator ,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"; const { ccclass, property } = _decorator; /** 视图层对象 */ @ccclass('MapSkillComp') @ecs.register('MapSkill', false) export class MapSkillComp extends CCComp { @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(){ // console.log("doSkill") } 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(); } }