Tower.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import { _decorator, Component, Sprite, Vec2, Vec3 } from 'cc';
  2. import { TowerData } from '../DataItem/ItemData';
  3. import { resMgr } from '../Frames/ResourcesMgr';
  4. import { GameMgr } from './GameFrameWork/GameMgr';
  5. import { MapMgr } from './GameFrameWork/MapMgr';
  6. import { TowerUI } from './GameFrameWork/TowerUI';
  7. const { ccclass, property } = _decorator;
  8. @ccclass('Tower')
  9. export class Tower extends Component {
  10. private _tilePos: Vec2 = null;
  11. init(data: TowerData, pos: Vec3){
  12. const frame = resMgr.getSpriteFrame(data.chassis[0]);
  13. this.node.getComponent(Sprite).spriteFrame = frame;
  14. this.node.setPosition(pos);
  15. //炮的图片
  16. this.node.getChildByName("Gun").getComponent(Sprite).spriteFrame
  17. = resMgr.getSpriteFrame(data.fireAniImg + "11");
  18. this._tilePos = GameMgr.Instance.getModuler(MapMgr).getTiledByPos(new Vec2(pos.x, pos.y));
  19. }
  20. bTouch(pos: Vec2): boolean{
  21. const tiled = GameMgr.Instance.getModuler(MapMgr).getTiledByPos(new Vec2(pos.x, pos.y));
  22. if(this._tilePos.equals(tiled)){
  23. this.showUI();
  24. return true;
  25. };
  26. return false;
  27. }
  28. showUI(){
  29. GameMgr.Instance.getModuler(TowerUI).show(this.node.position)
  30. }
  31. }