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

165 lines
6.1 KiB

  1. ChildHandbookSuitRewardItem = ChildHandbookSuitRewardItem or BaseClass(BaseItem)
  2. function ChildHandbookSuitRewardItem:__init()
  3. self.base_file = "child"
  4. self.layout_file = "ChildHandbookSuitRewardItem"
  5. self.is_delay_callback = true
  6. -- self.use_local_view = true
  7. self.model = ChildModel:GetInstance()
  8. self.suitInfoList = self.model:GetToySuitInfo()
  9. self.awardItems = {}
  10. self:Load()
  11. end
  12. function ChildHandbookSuitRewardItem:Load_callback()
  13. self.nodes = {
  14. "had_con:obj", "lock_con:obj", "dis_had_con:obj",
  15. "txt_name:tmp",
  16. "dis_had_con/btn_get:obj",
  17. "lock_con/loading_num:tmp",
  18. "had_con/text_time:tmp",
  19. "itemCon:obj",
  20. "dis_had_con/btn_get/red_dot:obj",
  21. "had_con/text_descrb2:tmp",
  22. "icon:img",
  23. "had_con/light:img",
  24. "lock_con/light2:img",
  25. "bg2:img",
  26. "bg:img",
  27. "line:obj",
  28. "txt_name_gray:tmp",
  29. }
  30. self:GetChildren(self.nodes)
  31. self:InitEvent()
  32. if self.need_refreshData then
  33. self:SetData(self.data, self.is_last)
  34. -- self:SetChosen(self.isChosen)
  35. self:SetRedDot(self.isRedDot)
  36. end
  37. lua_resM:setOutsideImageSprite(self, self.bg_img, GameResPath.GetChildIcon("child_hb_reward_item_bg"), false)
  38. lua_resM:setOutsideImageSprite(self, self.bg2_img, GameResPath.GetChildIcon("child_hb_reward_item_bg2"), false)
  39. lua_resM:setOutsideImageSprite(self, self.light_img, GameResPath.GetChildIcon("child_hb_reward_item_bg3"), false)
  40. lua_resM:setOutsideImageSprite(self, self.light2_img, GameResPath.GetChildIcon("child_hb_reward_item_bg3"), false)
  41. end
  42. function ChildHandbookSuitRewardItem:InitEvent()
  43. local function onBtnClickHandler(target, x, y)
  44. if target == self.btn_get_obj then
  45. --self.callback(self)
  46. self.model:Fire(ChildConst.CHILD_REQ_EVENT, 16535,self.data.suit_type)
  47. self.need_check_effect = true
  48. self.last_get_status = self.data.status
  49. end
  50. end
  51. AddClickEvent(self.btn_get_obj, onBtnClickHandler)
  52. end
  53. function ChildHandbookSuitRewardItem:SetData(data,is_last)
  54. self.data = data or self.data
  55. --self.callback = callback or self.callback
  56. self.is_last = is_last or self.is_last
  57. if self.is_loaded then
  58. if not self.data then return end
  59. local collect_reward_list = {}
  60. for k,v in pairs(self.suitInfoList) do
  61. if v.suit_type == self.data.suit_type then
  62. self.name_str = Trim(v.suit_name)
  63. self.text_descrb2_tmp.text = v.suit_name .. "全收集!"
  64. collect_reward_list = v.collect_reward
  65. end
  66. end
  67. if self.need_check_effect then
  68. self.need_check_effect = false
  69. if (not self.is_in_effect) and self.last_get_status ~= 2 and self.data.status == 2 then
  70. self.last_get_status = nil
  71. self.is_in_effect = true
  72. local function call_back( )
  73. self.is_in_effect = false
  74. end
  75. self:ClearUIEffect(self.bg2)
  76. self:AddUIEffect("ui_hunliqiudianliang", self.bg2, "Activity", Vector3(0, 0 ,0), 7, false, 0.6, nil, call_back)
  77. end
  78. end
  79. self.had_con_obj:SetActive(false)
  80. self.lock_con_obj:SetActive(false)
  81. SetImageGray(self.bg2_img, false)
  82. self.dis_had_con_obj:SetActive(false)
  83. self.itemCon_obj:SetActive(true)
  84. self.line_obj:SetActive(not self.is_last)
  85. --------------------------
  86. collect_reward_list = stringtotable(collect_reward_list)
  87. for k,v in pairs(collect_reward_list) do
  88. if self.awardItems[k] == nil then
  89. self.awardItems[k] = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem,self.itemCon)--AwardItem.New(self.Content_reward)--
  90. self.awardItems[k]:SetItemSize(62, 62)
  91. self.awardItems[k].transform.pivot = Vector2(0, 1)
  92. end
  93. self.awardItems[k]:SetData(v[2],v[3])
  94. end
  95. -- logWarn('=======Msh:ChildHandbookSuitRewardItem.lua[86]=======')
  96. -- PrintTable(self.data)
  97. -- 设置图标
  98. local res_id = "toy_icon_" .. self.data.suit_type
  99. lua_resM:setOutsideImageSprite(self, self.icon_img, GameResPath.GetChildToyImgIcon(res_id), true)
  100. -----------------------------
  101. if self.data.status == 0 then
  102. self.lock_con_obj:SetActive(true)
  103. SetImageGray(self.bg2_img, true)
  104. SetImageGray(self.icon_img, true)
  105. self.txt_name_gray_tmp.text = self.name_str
  106. self.txt_name_tmp.text = ""
  107. --local is_enought = self.data.progress >= self.data.collectMaxNum
  108. local txt_progress = HtmlColorTxt(self.data.progress, ColorUtil.GREEN_DARK )
  109. self.loading_num_tmp.text = "完成进度:".. txt_progress.."/"..self.data.collectMaxNum
  110. elseif self.data.status == 1 then --可领
  111. self.dis_had_con_obj:SetActive(true)
  112. self.txt_name_gray_tmp.text = ""
  113. self.txt_name_tmp.text = self.name_str
  114. elseif self.data.status == 2 then
  115. self.had_con_obj:SetActive(true)
  116. self.itemCon_obj:SetActive(false)
  117. self.text_time_tmp.text = TimeUtil:timeConversion(self.data.time, "yyyy.mm.dd hh:mm")
  118. self.txt_name_gray_tmp.text = ""
  119. self.txt_name_tmp.text = self.name_str
  120. end
  121. else
  122. self.need_refreshData = true
  123. end
  124. end
  125. function ChildHandbookSuitRewardItem:SetChosen(bool)
  126. self.isChosen = bool
  127. if self.is_loaded then
  128. if bool then
  129. self.chosen_obj:SetActive(true)
  130. else
  131. self.chosen_obj:SetActive(false)
  132. end
  133. else
  134. self.need_refreshData = true
  135. end
  136. end
  137. function ChildHandbookSuitRewardItem:SetRedDot(bool)
  138. self.isRedDot = bool
  139. if self.is_loaded then
  140. self.red_dot_obj:SetActive(self.isRedDot)
  141. else
  142. self.need_refreshData = true
  143. end
  144. end
  145. function ChildHandbookSuitRewardItem:__delete( )
  146. for i=1,#self.awardItems do
  147. if self.awardItems[i] then
  148. UIObjPool:getInstance():PushItem(UIObjPool.UIType.AwardItem, self.awardItems[i])
  149. self.awardItems[i] = nil
  150. end
  151. end
  152. end