import { v3, Vec3, _decorator ,Prefab,instantiate} 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 { Role } from "../../role/Role"; import { BoxSet } from "../../common/config/BoxSet"; import { Hero } from "../../monster/Hero"; import { Monster } from "../../monster/Monster"; // import MapRoadUtils from "./map/road/MapRoadUtils"; import { MapViewScene } from "./MapViewScene"; import { Timer } from "../../../../../extensions/oops-plugin-framework/assets/core/common/timer/Timer"; import { oops } from "../../../../../extensions/oops-plugin-framework/assets/core/Oops"; import { CardSet } from "../../common/config/CardSet"; const { ccclass, property } = _decorator; @ccclass('MapViewComp') @ecs.register('MapView', false) export class MapViewComp extends CCComp { scene: MapViewScene = null!; /** 是否正在转场 */ /** 当前地图数据 */ current_map: any; /** 转场碰撞点对象集合 */ private monster_refresh_rtimer: Timer = new Timer(3); private mapLoaded() { } onLoad(){ // 监听全局事件 oops.message.on("do_add_monster", this.on_do_add_monster, this); oops.message.on("do_add_hero", this.on_do_add_hero, this); } private on_do_add_monster(event: string, args: any) { this.addMonster() } /**监听do_add_hero 添加hero,通过uuid */ private on_do_add_hero(event: string, args: any) { console.log("do_add_hero",args.uuid) this.addHero(args.uuid) } reset(): void { } start() { this.scene = this.getComponent(MapViewScene); } protected update(dt: number): void { if (this.monster_refresh_rtimer.update(dt)) { this.monster_refresh() } // this.shuaxin(dt) this.gold_add(dt) } monster_refresh(){ this.addMonster(1001) } gold_add(dt: number) { smc.vm_data.gold.time += dt; if (smc.vm_data.gold.time >= smc.vm_data.gold.cd) { if (smc.vm_data.gold.max < smc.vm_data.gold.max_limit) { smc.vm_data.gold.max += 1; } smc.vm_data.gold.min = smc.vm_data.gold.max; smc.vm_data.gold.time = 0; } } shuaxin(dt: number) { smc.vm_data.shuaxin.min += smc.vm_data.shuaxin.speed*dt; if (smc.vm_data.shuaxin.min >= smc.vm_data.shuaxin.max) { smc.vm_data.shuaxin.min = 0; } } /** 添加玩家 */ private addHero(uuid:number=1001) { this.scene.node.active = true let hero = ecs.getEntity(Hero); let pos = v3(BoxSet.HERO_START,BoxSet.GAME_LINE) let camp = 1 hero.load(pos,camp,uuid); } private addMonster(uuid:number=1001) { this.scene.node.active = true let monster = ecs.getEntity(Monster); let pos:Vec3 = v3(BoxSet.MONSTER_START,BoxSet.GAME_LINE) let camp = -1 monster.load(pos,camp,uuid); } }