import { _decorator, Button, Component, instantiate, Node, Prefab, sp, Sprite, Vec2 } from 'cc'; import {allMapList, Skin, UserMap } from '../../script/Manager/LocalDataMgr'; import { LayerMgr } from '../../script/Manager/LayerMgr'; const { ccclass, property } = _decorator; @ccclass('MapItem') export class MapItem extends Component { @property(Sprite) mapImg:Sprite = null; @property(Sprite) selectedSprite:Sprite = null; private _isSelected:boolean = false; private _key:number = 0; init(key: number,isSelect:boolean = false) { let mapPath = allMapList[key].path this.selectedSprite.node.active = isSelect this._isSelected = isSelect this._key = key LayerMgr.instance.ShowSprite2("editor",mapPath,this.mapImg) } onClick() { this.setSelectMap(!this._isSelected) } protected start(): void { this.node.on(Node.EventType.TOUCH_END,this.onClick,this) } setSelectMap(isSelect:boolean) { this._isSelected = isSelect this.selectedSprite.node.active = this._isSelected if(this._isSelected) { UserMap.addSelectMap(this._key) }else { UserMap.removeSelectMap(this._key) } } }