import { _decorator, Component, Sprite, Vec2, Vec3 } from 'cc'; import { TowerData } from '../DataItem/ItemData'; import { resMgr } from '../Frames/ResourcesMgr'; import { GameMgr } from './GameFrameWork/GameMgr'; import { MapMgr } from './GameFrameWork/MapMgr'; import { TowerUI } from './GameFrameWork/TowerUI'; const { ccclass, property } = _decorator; @ccclass('Tower') export class Tower extends Component { private _tilePos: Vec2 = null; init(data: TowerData, pos: Vec3){ const frame = resMgr.getSpriteFrame(data.chassis[0]); this.node.getComponent(Sprite).spriteFrame = frame; this.node.setPosition(pos); //炮的图片 this.node.getChildByName("Gun").getComponent(Sprite).spriteFrame = resMgr.getSpriteFrame(data.fireAniImg + "11"); this._tilePos = GameMgr.Instance.getModuler(MapMgr).getTiledByPos(new Vec2(pos.x, pos.y)); } bTouch(pos: Vec2): boolean{ const tiled = GameMgr.Instance.getModuler(MapMgr).getTiledByPos(new Vec2(pos.x, pos.y)); if(this._tilePos.equals(tiled)){ this.showUI(); return true; }; return false; } showUI(){ GameMgr.Instance.getModuler(TowerUI).show(this.node.position) } }