import { _decorator, Button, Component, Node, sp, Sprite, Vec2 } from 'cc'; import { selectedSkinList, Skin } from '../../script/Manager/LocalDataMgr'; import { LayerMgr } from '../../script/Manager/LayerMgr'; const { ccclass, property } = _decorator; @ccclass('SkinItem') export class SkinItem extends Component { @property(sp.Skeleton) skin:sp.Skeleton = null; @property(Sprite) selectedSprite:Sprite = null; private _isSelected:boolean = false; private _key:number = 0; init(key: number,spineData:sp.SkeletonData,animName:string = "idle",spineOffset:Vec2 = new Vec2(0,0),isSelect:boolean = false) { this.skin.skeletonData = spineData; this.skin.setAnimation(0,animName,true) this.skin.node.position = this.skin.node.position.clone().add3f(spineOffset.x,spineOffset.y,0) this.selectedSprite.node.active = isSelect this._isSelected = isSelect this._key = key } onClick() { this._isSelected = !this._isSelected this.selectedSprite.node.active = this._isSelected if(this._isSelected) { Skin.addSelectSkin(this._key) }else { Skin.removeSelectSkin(this._key) } } protected start(): void { this.node.on(Node.EventType.TOUCH_END,this.onClick,this) } }