源战役客户端
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.

96 lines
2.5 KiB

  1. EquipCollectTabItem = EquipCollectTabItem or BaseClass(BaseItem)
  2. local EquipCollectTabItem = EquipCollectTabItem
  3. function EquipCollectTabItem:__init()
  4. self.base_file = "equipCollect"
  5. self.layout_file = "EquipCollectTabItem"
  6. self.model = EquipCollectModel:GetInstance()
  7. self:Load()
  8. end
  9. function EquipCollectTabItem:Load_callback()
  10. self.nodes = {
  11. "name_text:tmp", "bg:img:obj", "bg/red_dot:obj", "click_con: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_show_red then
  19. self:ShowRedPoint(self.show_red_dot)
  20. end
  21. if self.need_reselect then
  22. self:SetSelect(self.is_select)
  23. end
  24. end
  25. function EquipCollectTabItem:AddEvents( )
  26. local function on_click( target )
  27. if self.callback then
  28. self.callback(self.index)
  29. end
  30. end
  31. AddClickEvent(self.click_con_obj, on_click)
  32. end
  33. function EquipCollectTabItem:UpdateView( )
  34. self.dynamic_num = 2
  35. if self.index % 2 == 0 then
  36. self.dynamic_num = 1
  37. end
  38. local str = string.format("equipCollect_tab%s_%s", self.dynamic_num, self.is_select and "light" or "normal")
  39. lua_resM:setImageSprite(self, self.bg_img, "equipCollect_asset", str, true)
  40. SetAnchoredPositionX(self.name_text, self.is_select and 9 or -4)
  41. self.name_text_tmp.text = self.data.name
  42. end
  43. function EquipCollectTabItem:SetCallBackFunc( func )
  44. self.callback = func
  45. end
  46. function EquipCollectTabItem:SetData( data,index )
  47. self.data = data
  48. self.index = index
  49. if self.is_loaded then
  50. self.need_refreshData = false
  51. self:UpdateView()
  52. else
  53. self.need_refreshData = true
  54. end
  55. end
  56. function EquipCollectTabItem:ShowRedPoint( bool )
  57. bool = bool == nil and false or bool
  58. self.show_red_dot = bool
  59. if self.is_loaded then
  60. self.red_dot_obj:SetActive(bool)
  61. self.need_show_red = false
  62. else
  63. self.need_show_red = true
  64. end
  65. end
  66. function EquipCollectTabItem:SetSelect( bool )
  67. self.is_select = bool
  68. if self.is_loaded then
  69. self.need_reselect = false
  70. local str = string.format("equipCollect_tab%s_%s", self.dynamic_num, self.is_select and "light" or "normal")
  71. lua_resM:setImageSprite(self, self.bg_img, "equipCollect_asset", str, true)
  72. if self.is_select then
  73. SetTMPSharedMaterial(self.name_text_tmp, ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkPurpleTitle)
  74. else
  75. SetTMPSharedMaterial(self.name_text_tmp, ShaderTools.TMPSharedMaterialType.FZZZDefault)
  76. end
  77. SetAnchoredPositionX(self.name_text, self.is_select and 9 or -4)
  78. else
  79. self.need_reselect = true
  80. end
  81. end
  82. function EquipCollectTabItem:__delete( )
  83. end