123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- import { _decorator, Component, EventTouch, Node, Vec2, Vec3 } from 'cc';
- import { ModulerBase } from './ModulerBase';
- import { MapMgr } from './MapMgr';
- import { CardMgr } from './CardMgr';
- import { TowerMgr } from './TowerMgr';
- import { TowerUI } from './TowerUI';
- const { ccclass, property } = _decorator;
- @ccclass('TouchMgr')
- export class TouchMgr extends ModulerBase {
- private _towerPos: Vec3 = null;
- init(): void{
- const cardMgr = this.getModuler(CardMgr);
- const mapMgr = this.getModuler(MapMgr);
- const towerUI = this.getModuler(TowerUI);
- const towerMgr = this.getModuler(TowerMgr);
-
- this.node.on(Node.EventType.TOUCH_START,(e:EventTouch)=>{
- const touchPos: Vec2 = e.getUILocation();
- const pos: Vec3 = this.getModuler(MapMgr).getCenterByPos(touchPos);
- //点到炮台 炮台升级的UI显示出来
- if(towerUI.isShow()){
- if(towerUI.touchIcon(touchPos)){
- }
- return;
- }
- if(cardMgr.isShow()){
- const data = cardMgr.touchCard(touchPos)
- if(data){
- this.getModuler(TowerMgr).creatTower(this._towerPos,data);
- }
- //把种植位置置空
- this._towerPos = null;
- return;
- }
- //判断是否点到炮台
- if(towerMgr.bTouchTower(touchPos)){
- return;
- }
- const posMap: Vec3 = mapMgr.canCreatorTower(touchPos);
- if(posMap){
- //保存下次点击要种植炮台的位置
- this._towerPos = posMap;
- //显示卡片层
- cardMgr.show(posMap);
- }
-
-
- })
- }
- }
|