12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- import { _decorator, instantiate, log, Prefab, Sprite, Vec2, Vec3 } from 'cc';
- import { ModulerBase } from './ModulerBase';
- import { GameMgr } from './GameMgr';
- import { MapMgr } from './MapMgr';
- import { resMgr } from '../../Frames/ResourcesMgr';
- import { TowerData } from '../../DataItem/ItemData';
- import { dataMgr } from '../../Frames/DataManager';
- import { Tower } from '../Tower';
- import { ExpandTower, LaserTower, MShootTower, ShootTower, StickTower } from './InsTower';
- const { ccclass, property } = _decorator;
- @ccclass('TowerMgr')
- export class TowerMgr extends ModulerBase {
- // @property(Prefab)
- // pre: Prefab = null;
- start() {
- //GameMgr.Instance.getModuler(MapMgr).test();
- //this.getModuler(MapMgr).test();
- }
- creatTower(pos: Vec3, data: TowerData) {
- //const data: TowerData = dataMgr.getData(id, "TowerDt");
- const node = instantiate(resMgr.getPrefab("Tower"));
- //const node = instantiate(resMgr.getPrefab("Tower"));
- //const tower = node.getComponent(Tower);
- let tower: Tower;
- switch (data.fireType) {
- case "shoot":
- tower = node.addComponent(ShootTower);
- break;
- case "expand":
- tower = node.addComponent(ExpandTower);
- break;
- case "mshoot":
- tower = node.addComponent(MShootTower);
- break;
- case "laser":
- tower = node.addComponent(LaserTower);
- break;
- case "stick":
- tower = node.addComponent(StickTower);
- break;
- default:
- break;
- }
- node.parent = this.node;
- tower.init(data, pos);
- }
- protected clearSelf(): void {
- }
- bTouchTower(pos: Vec2) {
- for (const towerNode of this.node.children) {
- const tower: Tower = towerNode.getComponent(Tower);
- if (tower.bTouch(pos)) {
- return true;
- }
- }
- return false;
- }
- update(deltaTime: number) {
- }
- }
|