源战役客户端
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

91 řádky
2.2 KiB

před 4 týdny
  1. ChatDressVerTabItem = ChatDressVerTabItem or BaseClass(BaseItem)
  2. local ChatDressVerTabItem = ChatDressVerTabItem
  3. function ChatDressVerTabItem:__init()
  4. self.base_file = "chatDress"
  5. self.layout_file = "ChatDressVerTabItem"
  6. self.model = ChatDressModel:GetInstance()
  7. self:Load()
  8. end
  9. function ChatDressVerTabItem:Load_callback()
  10. self.nodes = {
  11. "select_image:obj","icon_image:img","name_text:tmp","click_con:obj","red_image: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_reselect then
  19. self:SetSelect(self.is_select)
  20. end
  21. if self.need_refreshRed then
  22. self:SetRedDot()
  23. end
  24. end
  25. function ChatDressVerTabItem:AddEvents( )
  26. local function onClick(target,x,y)
  27. if target == self.click_con_obj then
  28. self.call_back(self.index)
  29. end
  30. end
  31. AddClickEvent(self.click_con_obj,onClick)
  32. local function on_update_red( )
  33. self:SetRedDot()
  34. end
  35. self.on_update_red_id = self.model:BindOne("red_data", on_update_red)
  36. end
  37. function ChatDressVerTabItem:UpdateView( )
  38. self.name_text_tmp.text = self.data.name
  39. lua_resM:setImageSprite(self, self.icon_image_img, "chatDress_asset", "chatDress_type"..self.index, true)
  40. self:SetRedDot()
  41. end
  42. function ChatDressVerTabItem:SetSelect( bool )
  43. self.is_select = bool
  44. if self.is_loaded then
  45. self.need_reselect = false
  46. self.select_image_obj:SetActive(bool)
  47. local color = bool and ColorUtil:ConvertHexToRGBColor("ffffff") or ColorUtil:ConvertHexToRGBColor("a9c1e1")
  48. self.name_text_tmp.color = color
  49. else
  50. self.need_reselect = true
  51. end
  52. end
  53. function ChatDressVerTabItem:SetRedDot( )
  54. local bool = self.model:ShowSubRedPoint(self.data.id)
  55. self.need_red = bool
  56. if self.is_loaded then
  57. self.need_refreshRed = false
  58. self.red_image_obj:SetActive(bool)
  59. else
  60. self.need_refreshRed = true
  61. end
  62. end
  63. function ChatDressVerTabItem:SetData( index, data, call_back)
  64. self.index = index
  65. self.data = data
  66. self.call_back = call_back
  67. if self.is_loaded then
  68. self.need_refreshData = false
  69. self:UpdateView()
  70. else
  71. self.need_refreshData = true
  72. end
  73. end
  74. function ChatDressVerTabItem:__delete( )
  75. if self.on_update_red_id then
  76. self.model:UnBind(self.on_update_red_id)
  77. self.on_update_red_id = nil
  78. end
  79. end