MapItem.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import { _decorator, Button, Component, instantiate, Node, Prefab, sp, Sprite, Vec2 } from 'cc';
  2. import {allMapList, Skin, UserMap } from '../../script/Manager/LocalDataMgr';
  3. import { LayerMgr } from '../../script/Manager/LayerMgr';
  4. const { ccclass, property } = _decorator;
  5. @ccclass('MapItem')
  6. export class MapItem extends Component {
  7. @property(Sprite)
  8. mapImg:Sprite = null;
  9. @property(Sprite)
  10. selectedSprite:Sprite = null;
  11. private _isSelected:boolean = false;
  12. private _key:number = 0;
  13. init(key: number,isSelect:boolean = false)
  14. {
  15. let mapPath = allMapList[key].path
  16. this.selectedSprite.node.active = isSelect
  17. this._isSelected = isSelect
  18. this._key = key
  19. LayerMgr.instance.ShowSprite2("editor",mapPath,this.mapImg)
  20. }
  21. onClick()
  22. {
  23. this.setSelectMap(!this._isSelected)
  24. }
  25. protected start(): void {
  26. this.node.on(Node.EventType.TOUCH_END,this.onClick,this)
  27. }
  28. setSelectMap(isSelect:boolean)
  29. {
  30. this._isSelected = isSelect
  31. this.selectedSprite.node.active = this._isSelected
  32. if(this._isSelected)
  33. {
  34. UserMap.addSelectMap(this._key)
  35. }else
  36. {
  37. UserMap.removeSelectMap(this._key)
  38. }
  39. }
  40. }