1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- import { _decorator, Vec3,Node, Sprite, Label, EventTouch, tween, easing } from 'cc';
- import ListItem from '../../third/ListItem';
- import { ResUtil } from '../../utils/ResUtil';
- const { ccclass, property } = _decorator;
- //任务数据
- @ccclass('TaskItem')
- export class TaskItem extends ListItem {
- @property({ type: Sprite, tooltip: "任务敌人头像" })
- public enemy_header: Sprite;
- @property({ type: Label, tooltip: "敌人数量" })
- public num_label: Label;
- @property({ type: Label, tooltip: "敌人名字" })
- public enemy_name_label: Label;
- public data: any = null;
- public cb?: Function = null;
- public start() {
- this.node.on(Node.EventType.TOUCH_START,this.touchStart,this);
- //点击 物品查看
- this.node.on(Node.EventType.TOUCH_END,()=>{
- if(!this.data)return;
- this.cb?.(this.data);
- },this);
- }
- /**
- * 点击
- */
- private touchStart(event: EventTouch) {
- if(!this.data) return;
- let target: Node = event.target;
- tween(target)
- .to(0.1, {scale: new Vec3(1.02,1.02,1.02)},{easing: easing.backOut})
- .to(0.1, {scale: new Vec3(0.98,0.98,0.98)},{easing: easing.backOut})
- .call(() => {
- target.scale = new Vec3(1,1,1);
- }).start();
- }
- /**
- * 数据填充
- * @param data 敌人数据
- * @param cb 回调
- */
- public init(data: any,cb?: Function){
- if(!data)return;
- this.data = data;
- this.cb = cb;
- //敌人头像
- ResUtil.setSpriteFrame(data.headshot,this.enemy_header);
- //敌人数量
- this.num_label.string = `x${data.count}`;
- //敌人名字
- this.enemy_name_label.string = data.name_lang;
- }
- }
|