rank_list_top.ts 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. import { _decorator, Component, Label, Node, Sprite } from 'cc';
  2. import { rankData } from '../../data';
  3. import { tools } from '../../tools';
  4. import { imageCacheManager } from '../../manager/imageCacheManager';
  5. import { base_ui } from '../../fw/base_ui';
  6. import { uiManager } from '../../manager/uiManager';
  7. import { config } from '../../config';
  8. import { user_info_view } from '../user_info_view/user_info_view';
  9. const { ccclass, property } = _decorator;
  10. @ccclass('rank_list_top')
  11. export class rank_list_top extends base_ui {
  12. @property(Node) one_node = null;
  13. @property(Node) one_lab_name:Node = null;
  14. @property(Node) one_img_avatar:Node = null;
  15. @property(Node) one_lab_score:Node = null;
  16. @property(Node) one_img_car:Node = null;
  17. @property(Node) two_node = null;
  18. @property(Node) two_lab_name:Node = null;
  19. @property(Node) two_img_avatar:Node = null;
  20. @property(Node) two_lab_score:Node = null;
  21. @property(Node) two_img_car:Node = null;
  22. @property(Node) three_node = null;
  23. @property(Node) three_lab_name:Node = null;
  24. @property(Node) three_img_avatar:Node = null;
  25. @property(Node) three_lab_score:Node = null;
  26. @property(Node) three_img_car:Node = null;
  27. private m_one_data:rankData = null
  28. private m_two_data:rankData = null
  29. private m_three_data:rankData = null
  30. protected start(): void {
  31. this.onButtonListen(this.one_node, ()=>{
  32. this.onClickRankGotoUserInfo(this.m_one_data)
  33. })
  34. this.onButtonListen(this.two_node, ()=>{
  35. this.onClickRankGotoUserInfo(this.m_two_data)
  36. })
  37. this.onButtonListen(this.three_node, ()=>{
  38. this.onClickRankGotoUserInfo(this.m_three_data)
  39. })
  40. }
  41. initView(data_list:rankData[]) {
  42. if(data_list.length>0) {
  43. this.m_one_data = data_list[0]
  44. this.setLabName(this.one_lab_name, this.m_one_data)
  45. this.setImgAvatar(this.one_img_avatar, this.m_one_data)
  46. this.setLabScore(this.one_lab_score, this.m_one_data)
  47. this.setImgCar(this.one_img_car, this.m_one_data)
  48. }
  49. if(data_list.length>1) {
  50. this.m_two_data = data_list[1]
  51. this.setLabName(this.two_lab_name, this.m_two_data)
  52. this.setImgAvatar(this.two_img_avatar, this.m_two_data)
  53. this.setLabScore(this.two_lab_score, this.m_two_data)
  54. this.setImgCar(this.two_img_car, this.m_two_data)
  55. }
  56. if(data_list.length>2) {
  57. this.m_three_data = data_list[2]
  58. this.setLabName(this.three_lab_name, this.m_three_data)
  59. this.setImgAvatar(this.three_img_avatar, this.m_three_data)
  60. this.setLabScore(this.three_lab_score, this.m_three_data)
  61. this.setImgCar(this.three_img_car, this.m_three_data)
  62. }
  63. }
  64. private setLabName(node:Node, data:rankData) {
  65. node.getComponent(Label).string = data.nickName
  66. }
  67. private setImgAvatar(node:Node, data:rankData) {
  68. tools.loadRemoteImg(data.avatarUrl, (r)=>{
  69. node.getComponent(Sprite).spriteFrame = r.sf
  70. })
  71. }
  72. private setLabScore(node:Node, data:rankData) {
  73. node.getComponent(Label).string = data.score + ''
  74. }
  75. private setImgCar(node:Node, data:rankData) {
  76. node.getComponent(Sprite).spriteFrame = imageCacheManager.getRankCarImageById(data.car_id)
  77. }
  78. private onClickRankGotoUserInfo(data:rankData) {
  79. if(data == null) {
  80. return
  81. }
  82. uiManager.Instance().showUi(config.UI.ui_user_info_view, null, (node:Node)=>{
  83. node.getComponent(user_info_view).initView(data)
  84. })
  85. }
  86. }