源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

97 lines
2.5 KiB

  1. RankTargetTabItem = RankTargetTabItem or BaseClass(BaseItem)
  2. local RankTargetTabItem = RankTargetTabItem
  3. function RankTargetTabItem:__init()
  4. self.base_file = "rank"
  5. self.layout_file = "RankTargetTabItem"
  6. self.model = RankModel:getInstance()
  7. self:Load()
  8. end
  9. function RankTargetTabItem:Load_callback()
  10. self.nodes = {
  11. "select:img:obj", "tabName:tmp", "red:obj",
  12. }
  13. self:GetChildren(self.nodes)
  14. self:AddEvents()
  15. if self.need_refreshData then
  16. self:UpdateView()
  17. end
  18. if self.need_reclick then
  19. self:SetSelect(self.click_rank_type)
  20. end
  21. end
  22. function RankTargetTabItem:AddEvents( )
  23. local on_click = function ( click_obj )
  24. if self.select_obj == click_obj then
  25. if self.tab_click_back then
  26. self.tab_click_back(self.rank_type, self.is_history)
  27. end
  28. end
  29. end
  30. AddClickEvent(self.select_obj, on_click)
  31. local function on_ans_update_red_dot()
  32. if self.is_loaded then
  33. self:UpdateRed()
  34. end
  35. end
  36. self:BindEvent(self.model, RankModel.ANS_UPDATE_RED_DOT, on_ans_update_red_dot)
  37. end
  38. function RankTargetTabItem:UpdateRed( )
  39. local red = self.model:IsRankTypeNeedRed(self.rank_type)
  40. self.red_obj:SetActive(red)
  41. end
  42. function RankTargetTabItem:UpdateView( )
  43. local rank_tab_data = self.model:GetRankTabDataByType(self.rank_type)
  44. if not rank_tab_data then--说明是历史记录页签
  45. if self.is_history then
  46. self.tabName_tmp.text = "历史记录"
  47. end
  48. else
  49. self.tabName_tmp.text = rank_tab_data.name
  50. end
  51. self:UpdateRed()
  52. end
  53. function RankTargetTabItem:SetData( rank_type, tab_click_back, is_history)
  54. self.rank_type = rank_type
  55. self.tab_click_back = tab_click_back
  56. self.is_history = is_history
  57. if self.is_loaded then
  58. self.need_refreshData = false
  59. self:UpdateView()
  60. else
  61. self.need_refreshData = true
  62. end
  63. end
  64. function RankTargetTabItem:SetSelect(click_rank_type)
  65. self.click_rank_type = click_rank_type
  66. if self.is_loaded then
  67. self.need_reclick = false
  68. if self.click_rank_type == self.rank_type then
  69. lua_resM:setImageSprite(self, self.select_img, "rank_asset","rank_cs_tab_select")
  70. SetTMPSharedMaterial(self.tabName_tmp, ShaderTools.TMPSharedMaterialType.HKYTW7OutlineBlueTab)
  71. self.tabName_tmp.color = ColorUtil:ConvertHexToRGBColor("#ffffff")
  72. else
  73. lua_resM:setImageSprite(self, self.select_img, "uiComponent_asset","com_empty")
  74. SetTMPSharedMaterial(self.tabName_tmp, ShaderTools.TMPSharedMaterialType.HKYTW7FFDefault)
  75. self.tabName_tmp.color = ColorUtil:ConvertHexToRGBColor("#9eb3cf")
  76. end
  77. else
  78. self.need_reclick = true
  79. end
  80. end
  81. function RankTargetTabItem:__delete( )
  82. end