12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- import { _decorator, Button, Component, instantiate, Node, Prefab, sp, Sprite, Vec2, Vec3 } from 'cc';
- import {Skin } from '../../script/Manager/LocalDataMgr';
- import { LayerMgr } from '../../script/Manager/LayerMgr';
- const { ccclass, property } = _decorator;
- @ccclass('SkinItem')
- export class SkinItem extends Component {
- @property(Node)
- skinRoot:Node = null;
- @property(Sprite)
- selectedSprite:Sprite = null;
-
- private _isSelected:boolean = false;
- private _key:number = 0;
- private _spine:sp.Skeleton = null;
- // 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
- // }
- init(key: number,spine:Prefab,animName:string = "idle",spineOffset:Vec2 = new Vec2(0,0),isSelect:boolean = false)
- {
- let skin = instantiate(spine)
- this.skinRoot.addChild(skin)
- skin.setPosition(Vec3.ZERO)
- skin.position = skin.position.clone().add3f(spineOffset.x,spineOffset.y,0)
- this.selectedSprite.node.active = isSelect
- this._isSelected = isSelect
- this._key = key
- this._spine = skin.getComponent(sp.Skeleton)
- if(!this._spine.getCurrent(0))
- this._spine.setAnimation(0,animName,true)
- }
- onClick()
- {
- this.setSelectSkin(!this._isSelected)
- }
- protected start(): void {
- this.node.on(Node.EventType.TOUCH_END,this.onClick,this)
- }
-
- setSelectSkin(isSelect:boolean)
- {
- this._isSelected = isSelect
- this.selectedSprite.node.active = this._isSelected
- if(this._isSelected)
- {
- Skin.addSelectSkin(this._key)
- }else
- {
- Skin.removeSelectSkin(this._key)
- }
- }
- }
|