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

72 line
1.9 KiB

  1. FuliSignRewardItem = FuliSignRewardItem or BaseClass(BaseItem)
  2. local FuliSignRewardItem = FuliSignRewardItem
  3. function FuliSignRewardItem:__init()
  4. self.base_file = "fuli"
  5. self.layout_file = "FuliSignRewardItem"
  6. self.model = FuliModel:GetInstance()
  7. self:Load()
  8. end
  9. function FuliSignRewardItem:Load_callback()
  10. self.nodes = {
  11. "next_image:obj",
  12. "click_con:obj",
  13. "item_con",
  14. "day_text:tmp",
  15. "red_dot:obj",
  16. }
  17. self:GetChildren(self.nodes)
  18. self.awardItem = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem,self.item_con)
  19. self.awardItem:SetItemSize(84, 84)
  20. self.awardItem:SetVisible(false)
  21. self:AddEvents()
  22. if self.need_refreshData then
  23. self:UpdateView()
  24. end
  25. end
  26. function FuliSignRewardItem:AddEvents( )
  27. local function on_click( target )
  28. self.model:Fire(FuliConst.REQ_FULI_SCMD, 16010, self.data[1])
  29. end
  30. AddClickEvent(self.click_con_obj, on_click)
  31. end
  32. function FuliSignRewardItem:UpdateView( )
  33. self.day_text_tmp.text = string.format("%s 天", self.data[2])
  34. local reward_list = self.data[3]
  35. self.next_image_obj:SetActive(self.index ~= 5)
  36. self.awardItem:SetData(reward_list[1][2], reward_list[1][3],nil)
  37. self.awardItem:SetVisible(true)
  38. self.click_con_obj:SetActive(false)
  39. self.awardItem:SetGray(false)
  40. if TableSize(self.server_data) > 0 then
  41. if self.data[2] <= self.server_data.days and self.server_data.total_state[self.index] ~= 1 then
  42. self.red_dot_obj:SetActive(true)
  43. self.click_con_obj:SetActive(true)
  44. else
  45. self.red_dot_obj:SetActive(false)
  46. end
  47. self.awardItem:SetGray(self.server_data.total_state[self.index] == 1)
  48. else
  49. self.red_dot_obj:SetActive(false)
  50. end
  51. end
  52. function FuliSignRewardItem:SetData( data, server_data, index )
  53. self.data = data
  54. self.server_data = server_data
  55. self.index = index
  56. if self.is_loaded then
  57. self.need_refreshData = false
  58. self:UpdateView()
  59. else
  60. self.need_refreshData = true
  61. end
  62. end
  63. function FuliSignRewardItem:__delete( )
  64. end