import { _decorator, Component, Label, Node, Sprite, tween, UITransform, Vec3 } from 'cc'; import { uiManager } from '../../manager/uiManager'; import { rankData } from '../../data'; import { GameManager } from '../../GameManager'; import { tools } from '../../tools'; import { dataManager } from '../../manager/dataManager'; const { ccclass, property } = _decorator; @ccclass('home_bottom_rank_item') export class home_bottom_rank_item extends Component { @property(Node) img_car:Node = null @property(Node) lab_nickname:Node = null @property(Node) lab_score:Node = null @property(Node) lab_jiancheng:Node = null private m_data:rankData = null private m_cb = null protected start(): void { uiManager.Instance().onButtonListen(this.node, ()=>{ if(this.m_cb!=null) { this.m_cb(this) } }) } public initView(data:rankData, cb) { this.m_data = data this.m_cb = cb this.img_car.getComponent(Sprite).spriteFrame = dataManager.getUserRankCarSf(data.car_id, data.user_id) tools.labelCutString(this.lab_nickname,data.nickName,5) this.lab_score.getComponent(Label).string = data.score + '分' this.lab_jiancheng.getComponent(Label).string = data.province_code } public getData():rankData { return this.m_data } public startAnimation(timeout:number) { let origin_pos = this.node.getPosition() let y = origin_pos.y - this.node.getComponent(UITransform).height - 80 let init_pos = new Vec3(origin_pos.x,y,0) this.node.setPosition(init_pos) setTimeout(()=>{ tween(this.node).to(0.25,{position: new Vec3(origin_pos.x,origin_pos.y,0)}).start() },timeout) } }