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

96 line
2.8 KiB

  1. --[[@------------------------------------------------------------------
  2. @description:
  3. @author:huangcong
  4. ----------------------------------------------------------------------]]
  5. RechargeAddTab = RechargeAddTab or BaseClass(BaseItem)
  6. RechargeAddTab.Width = 138
  7. RechargeAddTab.Height = 158
  8. local RechargeAddTab = RechargeAddTab
  9. function RechargeAddTab:__init()
  10. self.base_file = "rechargeActivity"
  11. self.layout_file = "RechargeAddTab"
  12. self.model = RechargeActivityModel:getInstance()
  13. self.need_red = false
  14. self:Load()
  15. end
  16. function RechargeAddTab:Load_callback()
  17. local nodes = {
  18. "nameImg:img:obj", "bg:img:obj", "redDot:obj", "select_bg:obj","nameGrayImg:obj:img",
  19. }
  20. self:GetChildren(nodes)
  21. self:InitEvent()
  22. if self.need_refreshData then
  23. self:SetData(self.data,self.index)
  24. end
  25. end
  26. function RechargeAddTab:__delete()
  27. end
  28. function RechargeAddTab:InitEvent()
  29. local function clickHandler(target)
  30. if target == self.bg_obj then
  31. if self.callback then
  32. self.callback(self.data,self.index)
  33. end
  34. end
  35. end
  36. AddClickEvent(self.bg_obj, clickHandler, 1)
  37. -- local tabRedFunc = function (id, flag)
  38. -- if id == VipModel.TabType.PurchaseGift then
  39. -- self:SetData()
  40. -- end
  41. -- end
  42. -- self:BindEvent(self.model, VipModel.UPDATE_VIP_VIEW_RED, tabRedFunc)--更新红点顺便更新界面
  43. end
  44. function RechargeAddTab:SetData(data,index)
  45. self.data = data or self.data
  46. self.index = index or self.index
  47. if self.is_loaded then
  48. self.need_refreshData = false
  49. else
  50. self.need_refreshData = true
  51. return
  52. end
  53. if not self.data or not self.data.product_cfg then return end
  54. lua_resM:setOutsideImageSprite(self, self.nameImg_img, GameResPath.GetRechargeActivityImage("recharge_add_tab_name_"..self.data.product_cfg.product_id), true)
  55. lua_resM:setOutsideImageSprite(self, self.nameGrayImg_img, GameResPath.GetRechargeActivityImage("recharge_add_tab_name_gray_"..self.data.product_cfg.product_id), true)
  56. local red_bool = false
  57. for k,v in pairs(self.data.award_cfg) do
  58. if v.state == 1 then
  59. red_bool = true
  60. break
  61. end
  62. end
  63. if not red_bool then
  64. local need_find_add_recharge_list = CookieWrapper.Instance:GetCookie(CookieLevelType.Account,CookieKey.RECHARGE_ADD_RED) or {}
  65. red_bool = need_find_add_recharge_list[self.data.product_cfg.product_id] or false
  66. end
  67. self.redDot_obj:SetActive(red_bool)
  68. self:SetSelect(self.choose_index)
  69. end
  70. function RechargeAddTab:SetSelect( index )
  71. self.choose_index = index
  72. if self.is_loaded then
  73. self.select_bg_obj:SetActive(self.index == self.choose_index)
  74. self.bg_obj:SetActive(self.index ~= self.choose_index)
  75. self.nameGrayImg_obj:SetActive(self.index ~= self.choose_index)
  76. self.nameImg_obj:SetActive(self.index == self.choose_index)
  77. else
  78. self.need_refreshData = true
  79. end
  80. end
  81. function RechargeAddTab:SetCallBack( callback )
  82. self.callback = callback
  83. end