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

123 rivejä
3.6 KiB

4 viikkoa sitten
  1. TaskAnnounceItem = TaskAnnounceItem or BaseClass(BaseItem)
  2. local TaskAnnounceItem = TaskAnnounceItem
  3. function TaskAnnounceItem:__init()
  4. self.base_file = "taskAnnounce"
  5. self.layout_file = "TaskAnnounceItem"
  6. self.layer_name = layer_name or "UI"
  7. self.is_delay_callback = true
  8. -- self.use_local_view = true
  9. self.model = TaskAnnounceModel:getInstance()
  10. self.is_select = false
  11. self.index = false
  12. self.item_list = {}
  13. self:Load()
  14. end
  15. function TaskAnnounceItem:Load_callback()
  16. local nodes = {
  17. "select:obj", "red_dot:obj", "title:tmp", "bg:obj:imgex", "lock:obj", "tips:tmp", "title_img:img",
  18. }
  19. self:GetChildren(nodes)
  20. self:InitEvent()
  21. if self.need_refreshData then
  22. self:SetData(self.index, self.data, self.mask_id)
  23. self:SetSelect(self.is_select)
  24. end
  25. end
  26. function TaskAnnounceItem:InitEvent()
  27. local function onBtnClickHandler(target)
  28. if target == self.bg_obj then
  29. if self.click_call_back then
  30. self.click_call_back(self.index)
  31. end
  32. end
  33. end
  34. AddClickEvent(self.bg_obj,onBtnClickHandler)
  35. end
  36. function TaskAnnounceItem:SetSelect(is_select)
  37. self.is_select = is_select
  38. if self.is_loaded then
  39. self.select_obj:SetActive(self.is_select)
  40. else
  41. self.need_refreshData = true
  42. end
  43. end
  44. function TaskAnnounceItem:SetData(index, data, mask_id)
  45. self.index = index
  46. self.data = data
  47. self.mask_id = mask_id
  48. if self.is_loaded then
  49. --self.title_tmp.text = Trim(self.data.name)
  50. self.bg_imgex.gray = not self.data.has_open
  51. self.lock_obj:SetActive(not self.data.has_open)
  52. self.select_obj:SetActive(self.is_select)
  53. self.tips_tmp.text = self.data.has_open and HtmlColorTxt(Trim(self.data.con_desc), "#ffffff") or Trim(self.data.con_desc)
  54. local icon_res = Trim(self.data.title_pic) .. "_item"
  55. local icon_title_res = Trim(self.data.title_pic)
  56. lua_resM:setOutsideImageSprite(self, self.bg_imgex, GameResPath.GetTaskAnnounce(icon_res), true)
  57. lua_resM:setOutsideImageSprite(self, self.title_img_img, GameResPath.GetTaskAnnounce(icon_title_res), true)
  58. local state = self.model:GetRewardData(self.data.id)
  59. self.red_dot_obj:SetActive(state == 1)
  60. else
  61. self.need_refreshData = true
  62. end
  63. end
  64. -- -- 设置物品的领取状态 可领取 已领取 不可领取
  65. -- function TaskAnnounceItem:SetStatue(state, has_open)
  66. -- if state and self.item_list[1] then
  67. -- local callback = function()
  68. -- self.model:Fire(TaskAnnounceModel.REQUEST_CCMD_EVENT, 18201, self.data.id)
  69. -- end
  70. -- self.awardCon.gameObject:SetActive(state ~= 2)
  71. -- if state == 0 or not has_open then --不可领取
  72. -- self.item_list[1]:SetEnableClick(false)
  73. -- self.item_list[1]:SetRedDot(false)
  74. -- self.item_list[1]:SetCallBack(nil)
  75. -- elseif state == 1 then --未领取
  76. -- self.item_list[1]:SetEnableClick(true)
  77. -- self.item_list[1]:SetRedDot(true)
  78. -- self.item_list[1]:SetCallBack(callback)
  79. -- elseif state == 2 then --已领取
  80. -- self.item_list[1]:SetEnableClick(true)
  81. -- self.item_list[1]:SetStatueTips(true, "tyui_ylq", nil, true)
  82. -- self.item_list[1]:SetRedDot(false)
  83. -- self.item_list[1]:SetCallBack(nil)
  84. -- end
  85. -- else
  86. -- end
  87. -- end
  88. function TaskAnnounceItem:__delete()
  89. -- for k,v in pairs(self.item_list) do
  90. -- if v then
  91. -- v:ReleaseObj()
  92. -- v = nil
  93. -- end
  94. -- end
  95. -- self:ClearUIEffect(self.rt_item)
  96. -- self.item_list = {}
  97. -- if self.is_load_rt then
  98. -- lua_resM:clearRoleMode(self)
  99. -- self.is_load_rt = false
  100. -- end
  101. -- self:StopOpenFunTweenAnimation()
  102. end
  103. function TaskAnnounceItem:GetItemIdx()
  104. return self.index
  105. end
  106. function TaskAnnounceItem:SetClickCallBack(cb)
  107. self.click_call_back = cb
  108. end