home_bottom_rank_item.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import { _decorator, Component, Label, Node, Sprite } from 'cc';
  2. import { uiManager } from '../../manager/uiManager';
  3. import { rankData } from '../../data';
  4. import { imageCacheManager } from '../../manager/imageCacheManager';
  5. const { ccclass, property } = _decorator;
  6. @ccclass('home_bottom_rank_item')
  7. export class home_bottom_rank_item extends Component {
  8. @property(Node) img_car:Node = null
  9. @property(Node) lab_nickname:Node = null
  10. @property(Node) lab_score:Node = null
  11. private m_data:rankData = null
  12. private m_cb = null
  13. protected start(): void {
  14. uiManager.Instance().onButtonListen(this.node, ()=>{
  15. if(this.m_cb!=null) {
  16. this.m_cb(this)
  17. }
  18. })
  19. }
  20. public initView(data:rankData, cb) {
  21. this.m_data = data
  22. this.m_cb = cb
  23. this.img_car.getComponent(Sprite).spriteFrame = imageCacheManager.getRankCarImageById(data.car_id)
  24. let lab_component = this.lab_nickname.getComponent(Label)
  25. if(data.nickName.length>5) {
  26. lab_component.string = data.nickName.substring(0,5) + '...'
  27. lab_component.horizontalAlign = Label.HorizontalAlign.LEFT
  28. } else {
  29. lab_component.horizontalAlign = Label.HorizontalAlign.CENTER
  30. lab_component.string = data.nickName
  31. }
  32. this.lab_score.getComponent(Label).string = data.score + '分'
  33. }
  34. public getData():rankData {
  35. return this.m_data
  36. }
  37. }