rank_my_info.ts 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. import { _decorator, Component, Label, Node, Sprite, SpriteFrame, Vec3 } from 'cc';
  2. import { quarter_rank_item_data, rankData } from '../../data';
  3. import { tools } from '../../tools';
  4. import { dataManager } from '../../manager/dataManager';
  5. const { ccclass, property } = _decorator;
  6. @ccclass('rank_my_info')
  7. export class rank_my_info extends Component {
  8. @property(Node) bg:Node = null
  9. @property(Node) img_weishangbang:Node = null
  10. @property(Node) icon_number_bg:Node = null
  11. @property(Node) icon_number_img:Node = null
  12. @property(Node) icon_number_other_bg:Node = null
  13. @property(Node) lab_number_other:Node = null
  14. @property(SpriteFrame) sf_rank_icon_1:SpriteFrame = null
  15. @property(SpriteFrame) sf_rank_icon_2:SpriteFrame = null
  16. @property(SpriteFrame) sf_rank_icon_3:SpriteFrame = null
  17. @property(Node) img_avatar:Node = null
  18. @property(Node) img_avatar_border:Node = null
  19. @property(Node) lab_nickname:Node = null
  20. @property(Node) lab_score:Node = null
  21. @property(Node) img_car:Node = null
  22. @property(Node) region_bg:Node = null
  23. @property(Node) lab_region:Node = null
  24. initView(data:rankData) {
  25. this.setBasiData(data)
  26. this.img_car.getComponent(Sprite).spriteFrame = dataManager.getUserDefaultRankCarSf()
  27. }
  28. initQuarterRank(data:rankData, quarter_rank_data:quarter_rank_item_data) {
  29. this.setBasiData(data)
  30. if(quarter_rank_data) {
  31. let car_scale = this.img_car.scale
  32. let scale_x = car_scale.x
  33. if(scale_x<0) { scale_x = -scale_x }
  34. this.img_car.setScale(new Vec3(scale_x,car_scale.y,car_scale.z))
  35. tools.loadRemoteImg(quarter_rank_data.icon, (r)=>{
  36. this.img_car.getComponent(Sprite).spriteFrame = r.sf
  37. })
  38. }
  39. }
  40. private setBasiData(data:rankData){
  41. if(data.number==0) {
  42. this.img_weishangbang.active = true
  43. this.icon_number_bg.active = false
  44. this.icon_number_other_bg.active = false
  45. } else {
  46. this.img_weishangbang.active = false
  47. if(data.number<=3) {
  48. this.icon_number_bg.active = true
  49. switch (data.number) {
  50. case 1:
  51. this.icon_number_img.getComponent(Sprite).spriteFrame = this.sf_rank_icon_1
  52. break;
  53. case 2:
  54. this.icon_number_img.getComponent(Sprite).spriteFrame = this.sf_rank_icon_2
  55. break;
  56. case 3:
  57. this.icon_number_img.getComponent(Sprite).spriteFrame = this.sf_rank_icon_3
  58. break;
  59. default:
  60. break;
  61. }
  62. } else {
  63. this.icon_number_other_bg.active = true
  64. this.lab_number_other.getComponent(Label).string = data.number + ''
  65. }
  66. }
  67. tools.loadRemoteImg(data.avatarUrl, (r)=>{
  68. this.img_avatar.getComponent(Sprite).spriteFrame = r.sf
  69. })
  70. if(data.photo_frame_img && data.photo_frame_img.length>0) {
  71. tools.loadRemoteImg(data.photo_frame_img, (r)=>{
  72. this.img_avatar_border.getComponent(Sprite).spriteFrame = r.sf
  73. })
  74. }
  75. tools.substringRankRegionName(this.lab_region, data.city_name)
  76. tools.labelCutString(this.lab_nickname,data.nickName,7,false)
  77. this.lab_score.getComponent(Label).string = data.score + ' 分'
  78. }
  79. }