rank_list_item.ts 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. import { _decorator, Component, Label, Node, Sprite, SpriteFrame, UITransform, Vec3 } from 'cc';
  2. import { quarter_rank_item_data, rankData } from '../../data';
  3. import { tools } from '../../tools';
  4. import { uiManager } from '../../manager/uiManager';
  5. import { config } from '../../config';
  6. import { base_ui } from '../../fw/base_ui';
  7. import { user_info_view } from '../user_info_view';
  8. import { dataManager } from '../../manager/dataManager';
  9. import { userDataManager } from '../../manager/userDataManager';
  10. const { ccclass, property } = _decorator;
  11. @ccclass('rank_list_item')
  12. export class rank_list_item extends base_ui {
  13. @property(Node) img_number:Node = null
  14. @property(Node) lab_number:Node = null;
  15. @property(Node) img_avatar:Node = null;
  16. @property(Node) img_avatar_border:Node = null;
  17. @property(Node) lab_nickname:Node = null;
  18. @property(Node) lab_score:Node = null;
  19. @property(Node) img_car:Node = null;
  20. @property(Node) region_bg:Node = null;
  21. @property(Node) lab_region:Node = null;
  22. @property(SpriteFrame) sf_quater_bg:SpriteFrame = null
  23. @property(SpriteFrame) sf_quater_region_bg_rank:SpriteFrame = null
  24. @property(SpriteFrame) sf_quater_rank_1:SpriteFrame = null
  25. @property(SpriteFrame) sf_quater_rank_2:SpriteFrame = null
  26. @property(SpriteFrame) sf_quater_rank_3:SpriteFrame = null
  27. private m_data:rankData = null
  28. protected start(): void {
  29. this.onButtonListen(this.node, ()=>{
  30. uiManager.Instance().showUi(config.UI.ui_user_info_view, null, (node:Node)=>{
  31. node.getComponent(user_info_view).initView(this.m_data)
  32. })
  33. })
  34. }
  35. initView(data:rankData, index, type:number) {
  36. this.m_data = data
  37. this.lab_number.getComponent(Label).string = index+1 + ''
  38. tools.loadRemoteImg(data.avatarUrl, (r)=>{
  39. this.img_avatar.getComponent(Sprite).spriteFrame = r.sf
  40. })
  41. if(data.photo_frame_img && data.photo_frame_img.length>0) {
  42. tools.loadRemoteImg(data.photo_frame_img, (r)=>{
  43. this.img_avatar_border.getComponent(Sprite).spriteFrame = r.sf
  44. })
  45. }
  46. if(type==3) { this.region_bg.active = false }
  47. else { this.region_bg.active = true }
  48. tools.substringRankRegionName(this.lab_region, data.city_name)
  49. tools.labelCutString(this.lab_nickname,data.nickName,8,false) //this.lab_nickname.getComponent(Label).string = data.nickName
  50. this.lab_score.getComponent(Label).string = data.score + ' 分'
  51. this.img_car.getComponent(Sprite).spriteFrame = dataManager.getUserRankCarSf(data.car_id, data.user_id)
  52. }
  53. initQuarterRank(data:rankData, index, quarter_rank_data:quarter_rank_item_data) {
  54. this.m_data = data
  55. this.node.getComponent(Sprite).spriteFrame = this.sf_quater_bg
  56. if(index<3) {
  57. this.lab_number.active = false
  58. switch (index) {
  59. case 0:
  60. this.img_number.getComponent(Sprite).spriteFrame = this.sf_quater_rank_1
  61. break;
  62. case 1:
  63. this.img_number.getComponent(Sprite).spriteFrame = this.sf_quater_rank_2
  64. break;
  65. case 2:
  66. this.img_number.getComponent(Sprite).spriteFrame = this.sf_quater_rank_3
  67. break;
  68. default:
  69. break;
  70. }
  71. } else {
  72. this.lab_number.active = true
  73. }
  74. this.lab_number.getComponent(Label).string = index+1 + ''
  75. let car_scale = this.img_car.scale
  76. let scale_x = car_scale.x
  77. if(scale_x<0) { scale_x = -scale_x }
  78. this.img_car.setScale(new Vec3(scale_x,car_scale.y,car_scale.z))
  79. tools.loadRemoteImg(data.avatarUrl, (r)=>{
  80. this.img_avatar.getComponent(Sprite).spriteFrame = r.sf
  81. })
  82. if(userDataManager.user_data.id==data.user_id) {
  83. tools.loadRemoteImg(userDataManager.user_data.photo_frame_img, (r)=>{
  84. this.img_avatar_border.getComponent(Sprite).spriteFrame = r.sf
  85. })
  86. } else {
  87. if(data.photo_frame_img && data.photo_frame_img.length>0) {
  88. tools.loadRemoteImg(data.photo_frame_img, (r)=>{
  89. this.img_avatar_border.getComponent(Sprite).spriteFrame = r.sf
  90. })
  91. }
  92. }
  93. this.region_bg.getComponent(Sprite).spriteFrame = this.sf_quater_region_bg_rank
  94. tools.substringRankRegionName(this.lab_region, data.city_name)
  95. tools.labelCutString(this.lab_nickname,data.nickName,8,false) //this.lab_nickname.getComponent(Label).string = data.nickName
  96. this.lab_score.getComponent(Label).string = data.score + ' 分'
  97. if(quarter_rank_data) {
  98. tools.loadRemoteImg(quarter_rank_data.icon, (r)=>{
  99. this.img_car.getComponent(Sprite).spriteFrame = r.sf
  100. })
  101. }
  102. }
  103. }