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

186 行
5.6 KiB

  1. FuliSignItem = FuliSignItem or BaseClass(BaseItem)
  2. local FuliSignItem = FuliSignItem
  3. function FuliSignItem:__init()
  4. self.base_file = "fuli"
  5. self.layout_file = "FuliSignItem"
  6. self.model = FuliModel:GetInstance()
  7. self:Load()
  8. end
  9. function FuliSignItem:Load_callback()
  10. self.nodes = {
  11. "btn/btn_text:tmp",
  12. "btn:obj:imgex",
  13. "bg:img",
  14. "item_con",
  15. "double_image:obj",
  16. "btn/btn_red:obj",
  17. "click_con:obj",
  18. "num_text:tmp",
  19. }
  20. self:GetChildren(self.nodes)
  21. self.awardItem = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem,self.item_con)
  22. self.awardItem:SetItemSize(84, 84)
  23. self.awardItem:SetVisible(false)
  24. self:AddEvents()
  25. if self.need_refreshData then
  26. self:UpdateView()
  27. end
  28. end
  29. function FuliSignItem:AddEvents( )
  30. local function on_click( target )
  31. if self.can_sign then
  32. local vip = RoleManager.Instance.mainRoleInfo.vip_flag or 0
  33. local function ok()
  34. OpenFun.Open(450,2)
  35. end
  36. local function cancel( ... )
  37. self.model:Fire(FuliConst.REQ_FULI_SCMD, 16002)
  38. end
  39. if self.data.vip_lv > vip and self.is_sign then
  40. -- Alert.show("是否提升到V3,翻倍领取奖励?",Alert.Type.Two,ok,cancel, "确定", "领取单倍")
  41. self.model:Fire(FuliConst.OPEN_FULI_VIP_ASK_VIEW)
  42. else
  43. cancel()
  44. end
  45. else
  46. Message.show("您还没达到这个签到天数哦~")
  47. end
  48. end
  49. -- AddClickEvent(self.click_con_obj, on_click)
  50. AddClickEvent(self.btn_obj, on_click)
  51. local function on_vip_change( ... )
  52. self:UpdateView()
  53. end
  54. self.vip_id = RoleManager:getInstance().mainRoleInfo:BindOne("vip_flag", on_vip_change)
  55. end
  56. function FuliSignItem:UpdateView( )
  57. self.is_sign = false
  58. self.can_sign = false
  59. self.not_vip = false
  60. self.num_text_tmp.text = string.format("第 %s 天", self.index)
  61. local vip = RoleManager.Instance.mainRoleInfo.vip_flag or 0
  62. self.awardItem:SetData(self.data.award_list[1][2], self.data.award_list[1][3],nil)
  63. self.awardItem:SetVisible(true)
  64. self.awardItem:SetGray(false)
  65. self.double_image_obj:SetActive(self.data.vip_lv > 0)
  66. -- if self.index >= 10 then
  67. -- SetAnchoredPositionX(self.day_text, -8)
  68. -- else
  69. -- SetAnchoredPositionX(self.day_text, -25)
  70. -- end
  71. local bg_asset = ""
  72. if self.index % 5 == 0 then
  73. bg_asset = "fuli_item15"
  74. self.num_text_tmp.text = HtmlColorTxt(string.format("第 %s 天", self.index), "#fdffc2")
  75. else
  76. bg_asset = "fuli_item16"
  77. end
  78. if TableSize(self.server_data) > 0 then
  79. if self.server_data.sign_in_status == 0 then--没签到的话
  80. if self.index < self.server_data.days + 1 then
  81. self.awardItem:SetGray(true)
  82. self.btn_red_obj:SetActive(false)
  83. self.btn_obj:SetActive(false)
  84. bg_asset = "fuli_item38"
  85. self.num_text_tmp.text = HtmlColorTxt("已领取", "#A6A8AB")
  86. elseif self.index == self.server_data.days + 1 then
  87. self.can_sign = true
  88. self.btn_red_obj:SetActive(true)
  89. self.btn_obj:SetActive(true)
  90. self.btn_imgex.gray = false
  91. self.btn_text_tmp.text = "领取"
  92. else
  93. self.btn_red_obj:SetActive(false)
  94. self.btn_obj:SetActive(false)
  95. self.btn_imgex.gray = true
  96. end
  97. elseif self.server_data.sign_in_status == 1 and self.data.vip_lv > 0 then--签到1次的话
  98. self.is_sign = true
  99. if self.index < self.server_data.days then
  100. self.btn_red_obj:SetActive(false)
  101. self.btn_obj:SetActive(false)
  102. self.num_text_tmp.text = HtmlColorTxt("已领取", "#A6A8AB")
  103. bg_asset = "fuli_item38"
  104. elseif self.index == self.server_data.days then
  105. self.can_sign = true
  106. self.btn_red_obj:SetActive(self.data.vip_lv<=vip)
  107. self.btn_text_tmp.text = "再次领取"
  108. self.btn_obj:SetActive(true)
  109. self.btn_imgex.gray = false
  110. else
  111. self.btn_red_obj:SetActive(false)
  112. self.btn_obj:SetActive(false)
  113. self.btn_imgex.gray = true
  114. self.btn_text_tmp.text = "领取"
  115. end
  116. -- elseif self.server_data.sign_in_status == 2 then--签到的话 --没有签到两次了的说法了
  117. else
  118. self.is_sign = true
  119. if self.index < self.server_data.days then
  120. self.btn_red_obj:SetActive(false)
  121. self.btn_obj:SetActive(false)
  122. self.num_text_tmp.text = HtmlColorTxt("已领取", "#A6A8AB")
  123. self.awardItem:SetGray(true)
  124. bg_asset = "fuli_item38"
  125. elseif self.index == self.server_data.days then
  126. self.awardItem:SetGray(true)
  127. self.btn_red_obj:SetActive(false)
  128. self.btn_obj:SetActive(false)
  129. self.btn_imgex.gray = false
  130. self.num_text_tmp.text = HtmlColorTxt("已领取", "#A6A8AB")
  131. bg_asset = "fuli_item38"
  132. else
  133. self.btn_red_obj:SetActive(false)
  134. self.btn_obj:SetActive(false)
  135. self.btn_imgex.gray = true
  136. self.btn_text_tmp.text = "领取"
  137. end
  138. end
  139. end
  140. lua_resM:setImageSprite(self, self.bg_img, "fuli_asset", bg_asset)
  141. end
  142. function FuliSignItem:SetData( index, data,server_data )
  143. self.index = index
  144. self.data = data
  145. self.server_data = server_data
  146. if self.is_loaded then
  147. self.need_refreshData = false
  148. self:UpdateView()
  149. else
  150. self.need_refreshData = true
  151. end
  152. end
  153. function FuliSignItem:SetDepth( )
  154. do return end--不需要这个设置方法了
  155. if self.server_data.sign_in_status == 0 then--没签到的话
  156. if self.index == self.server_data.days + 1 then
  157. self.transform:SetAsLastSibling()
  158. end
  159. elseif self.server_data.sign_in_status == 1 then--签到的话
  160. if self.index == self.server_data.days then
  161. self.transform:SetAsLastSibling()
  162. end
  163. elseif self.server_data.sign_in_status == 2 then--签到的话
  164. if self.index == self.server_data.days then
  165. self.transform:SetAsLastSibling()
  166. end
  167. end
  168. end
  169. function FuliSignItem:__delete( )
  170. if self.awardItem then
  171. UIObjPool:getInstance():PushItem(UIObjPool.UIType.AwardItem, self.awardItem)
  172. self.awardItem = nil
  173. end
  174. if self.vip_id then
  175. RoleManager:getInstance().mainRoleInfo:UnBind(self.vip_id)
  176. self.vip_id = nil
  177. end
  178. end