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

100 行
2.8 KiB

  1. EquipCollectLeftItem = EquipCollectLeftItem or BaseClass(BaseItem)
  2. local EquipCollectLeftItem = EquipCollectLeftItem
  3. function EquipCollectLeftItem:__init()
  4. self.base_file = "equipCollect"
  5. self.layout_file = "EquipCollectLeftItem"
  6. self.model = EquipCollectModel:GetInstance()
  7. self:Load()
  8. end
  9. function EquipCollectLeftItem:Load_callback()
  10. self.nodes = {
  11. "click_con:obj", "finish_image:obj", "name_text:tmp", "tab_red:obj",
  12. "bg:imgex", "select_image:obj",
  13. }
  14. self:GetChildren(self.nodes)
  15. self:AddEvents()
  16. if self.need_refreshData then
  17. self:UpdateView()
  18. end
  19. if self.need_refreshSelect then
  20. self:SetSelect(self.id)
  21. end
  22. end
  23. function EquipCollectLeftItem:AddEvents( )
  24. function on_click( target )
  25. local delay_fun = function()--0.1秒只能点一次
  26. if target == self.click_con_obj then
  27. if self.call_back then
  28. if self.model:CheckEquipCollectSuitIsOpen(self.data[self.first_sub][1].id) then
  29. self.call_back(self.data, self.data[self.first_sub][1].id)
  30. else
  31. local cfg = Config.Equipmentcollecttype[self.data[self.first_sub][1].id]
  32. local lv = cfg.open_lv
  33. Message.show(string.format("%s级开放%s套装", lv, Trim(cfg.name)))
  34. end
  35. end
  36. end
  37. end
  38. TimeManager.GetInstance():StartDalayTime("EquipCollectLeftItem",0.1,delay_fun)
  39. end
  40. AddClickEvent(self.click_con_obj, on_click)
  41. end
  42. function EquipCollectLeftItem:UpdateView( )
  43. if not self.data then
  44. return
  45. end
  46. lua_resM:setImageSprite(self, self.bg_imgex, "equipCollect_asset", "equipCollect_left_item"..self.data[self.first_sub][1].id,true)
  47. self.name_text_tmp.text = self.model:GetEquipCollectSubTypeName(self.data[self.first_sub][1].id)
  48. self.tab_red_obj:SetActive(self.model:IsEquipCollectNeedRedById(self.data[self.first_sub][1].id))
  49. self.finish_image_obj:SetActive(self.model:CheckIsAllEquipCollected(self.data[self.first_sub][1].id))
  50. self.bg_imgex.gray = not self.model:CheckEquipCollectSuitIsOpen(self.data[self.first_sub][1].id)
  51. self:SetSelect(self.id)
  52. end
  53. function EquipCollectLeftItem:SetCallBackFunc( call_back )
  54. self.call_back = call_back
  55. end
  56. function EquipCollectLeftItem:SetData( data, id, sub_id )
  57. self.data = data
  58. self.id = id
  59. self.first_sub = sub_id
  60. if self.is_loaded then
  61. self.need_refreshData = false
  62. self:UpdateView()
  63. else
  64. self.need_refreshData = true
  65. end
  66. end
  67. function EquipCollectLeftItem:SetSelect( index )
  68. self.id = index
  69. if self.is_loaded then
  70. self.need_refreshSelect = false
  71. if tonumber(self.data[self.first_sub][1].id) == tonumber(index)then
  72. self.select_image_obj:SetActive(true)
  73. else
  74. self.select_image_obj:SetActive(false)
  75. end
  76. else
  77. self.need_refreshSelect = true
  78. end
  79. end
  80. function EquipCollectLeftItem:GetFirstInfo( )
  81. local data = DeepCopy(self.data)
  82. data.is_tab = nil
  83. for i,v in pairsByKeys(data) do
  84. return v
  85. end
  86. end
  87. function EquipCollectLeftItem:__delete( )
  88. end