源战役客户端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

167 行
6.0 KiB

  1. ChildRankItem = ChildRankItem or BaseClass(BaseItem)
  2. function ChildRankItem:__init()
  3. self.base_file = "child"
  4. self.layout_file = "ChildRankItem"
  5. self.is_delay_callback = true
  6. -- self.use_local_view = true
  7. self.model = ChildModel:GetInstance()
  8. self:Load()
  9. end
  10. function ChildRankItem:Load_callback()
  11. self.nodes = {
  12. --"txt_playerName:tmp",
  13. "txt_childrName:tmp","txt_niceNum:tmp","txt_fight_num:tmp",
  14. "txt_no_rank:obj:tmp","img_rank:obj:img","img_nice_bg:obj:img",
  15. --"img_nice_bg/img_nice:obj",
  16. "role_icon:obj",
  17. --"vip_icon",
  18. "bg:img",
  19. "name_con/vip:obj:img", "name_con/sex:obj:img", "name_con/name:tmp",
  20. }
  21. self:GetChildren(self.nodes)
  22. self:InitEvent()
  23. if self.need_refreshData then
  24. self:SetData(self.data)
  25. end
  26. end
  27. function ChildRankItem:InitEvent()
  28. --self.model:Fire(ChildConst.UPDATA_CHILD_VOTED_ROLE_INFO)
  29. local function updata_child_voted_info_fun()
  30. self:SetData(self.data)
  31. end
  32. self.updata_child_voted_info = self.model:Bind(ChildConst.UPDATA_CHILD_VOTED_ROLE_INFO, updata_child_voted_info_fun) --
  33. local function onBtnClickHandler(target, x, y)
  34. if target == self.img_nice_bg_obj then
  35. -- Message.show("self.data.roleid:",self.data.role_id)
  36. self.model:Fire(ChildConst.CHILD_REQ_EVENT, 16510,self.data.role_id)
  37. end
  38. end
  39. AddClickEvent(self.img_nice_bg_obj, onBtnClickHandler)
  40. end
  41. function ChildRankItem:SetData(data)
  42. self.data = data
  43. if self.is_loaded then
  44. self.txt_niceNum_tmp.text = data.vote_num or ""
  45. --self.txt_playerName_tmp.text = data.name or ""
  46. self.txt_childrName_tmp.text = "宝宝:".. HtmlColorTxt( data.child_name or "", ColorUtil.WHITE_DARK)
  47. self.txt_fight_num_tmp.text = "战力:".. HtmlColorTxt( data.role_power or "", ColorUtil.WHITE_DARK)
  48. self.txt_no_rank_obj:SetActive(false)
  49. self.img_rank_obj:SetActive(true)
  50. if data.rank <= 3 then
  51. lua_resM:setImageSprite(self, self.img_rank_img, "child_asset", "child_rank_png"..data.rank, true)
  52. -- lua_resM:setOutsideImageSprite(self, self.bg_img, GameResPath.GetChildIcon("child_rank_item_bg"..data.rank), false)
  53. -- local rankColorList =
  54. -- {
  55. -- [1] = Color(146/255,55/255,53/255,1),
  56. -- [2] = Color(145/255,65/255,151/255,1),
  57. -- [3] = Color(58/255,113/255,175/255,1),
  58. -- }
  59. --self.txt_playerName_tmp.color = rankColorList[data.rank]
  60. -- self.txt_childrName_tmp.color = rankColorList[data.rank]
  61. -- self.txt_fight_num_tmp.color = rankColorList[data.rank]
  62. elseif data.rank > 3 then
  63. self.txt_no_rank_obj:SetActive(true)
  64. self.txt_no_rank_tmp.text = data.rank
  65. self.img_rank_obj:SetActive(false)
  66. -- lua_resM:setOutsideImageSprite(self, self.bg_img, GameResPath.GetChildIcon("child_rank_item_bg0"), false)
  67. end
  68. -- --vip
  69. -- if not self.mainRole_vip_item then
  70. -- self.mainRole_vip_item = RoleVipItem.New(self.vip_icon)
  71. -- end
  72. -- self.mainRole_vip_item:SetData(data.vip_flag,data.sup_vip_type)
  73. --头像
  74. if not self.playHeadItem then
  75. self.playHeadItem = HeadRoleItem.New(self.role_icon)
  76. self.playHeadItem:SetItemSize(68,68)
  77. end
  78. local head_data = {
  79. vo = { use_bg = 2, id = data.role_id, server_id = data.ser_id, career = 0, --data.career,
  80. level = data.level, sex = data.sex, turn = data.turn, board = data.dress_board,
  81. picture_ver = data.picture_ver, picture = data.picture, profile_photo_id = data.profile_photo_id},
  82. }
  83. self.playHeadItem:SetData(head_data)
  84. lua_resM:setImageSprite(self, self.sex_img, "common_asset", data.sex == 1 and "com_boy" or " com_girl", true)
  85. if not self.vipItem then
  86. self.vipItem = RoleVipItem.New(self.vip_img.transform)
  87. end
  88. self.vipItem:SetData(data.vip_flag, data.sup_vip_type)
  89. if data.vip_flag == 0 and data.sup_vip_type == 0 then
  90. self.vip_obj:SetActive(false)
  91. else
  92. self.vip_obj:SetActive(true)
  93. end
  94. self.name_tmp.text = HtmlColorTxt( " " .. data.name, "#ffffff")
  95. SetSizeDelta(self.name, self.name_tmp.preferredWidth + 5, self.name_tmp.preferredHeight)
  96. --点没点赞
  97. local voted_list = self.model:GetChildVotedRoleList()
  98. for k,v in pairs(voted_list) do
  99. if v.role_id == data.role_id then
  100. --self.img_nice_obj:SetActive(false)
  101. local need_set_gray = true
  102. --宠物生活技能 宝宝每日给同一个玩家点赞次数
  103. local life_skill_active = PetModel:getInstance():IsLifeSkillActived(PetConst.LifeSkill.ChildAsylumTimesUp)
  104. local life_skill_ratio = PetModel:getInstance():GetPetLifeSkillRatio(PetConst.LifeSkill.ChildAsylumTimesUp)
  105. if life_skill_active then
  106. need_set_gray = v.vote_times == life_skill_ratio + 1
  107. end
  108. SetImageGray(self.img_nice_bg_img, need_set_gray)
  109. return
  110. end
  111. end
  112. --上面list长度可能为0,所以单独判断是否本人
  113. if data.role_id == RoleManager.Instance.mainRoleInfo.role_id then
  114. --self.img_nice_obj:SetActive(false)
  115. SetImageGray(self.img_nice_bg_img, true)
  116. else
  117. --self.img_nice_obj:SetActive(true)
  118. SetImageGray(self.img_nice_bg_img, false)
  119. end
  120. else
  121. self.need_refreshData = true
  122. end
  123. end
  124. function ChildRankItem:__delete()
  125. if self.playHeadItem then
  126. self.playHeadItem:DeleteMe()
  127. self.playHeadItem = nil
  128. end
  129. if self.updata_child_voted_info then
  130. self.model:UnBind(self.updata_child_voted_info)
  131. self.updata_child_voted_info = nil
  132. end
  133. if self.mainRole_vip_item then
  134. self.mainRole_vip_item:DeleteMe()
  135. self.mainRole_vip_item = nil
  136. end
  137. if self.vipItem then
  138. self.vipItem:DeleteMe()
  139. self.vipItem = nil
  140. end
  141. end