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

203 rivejä
6.6 KiB

4 viikkoa sitten
  1. --#贵族主界面
  2. SupremeVipBaseView = SupremeVipBaseView or BaseClass(BaseView)
  3. local SupremeVipBaseView = SupremeVipBaseView
  4. function SupremeVipBaseView:__init()
  5. self.base_file = "supremeVip"
  6. self.layout_file = "SupremeVipBaseView"
  7. self.layer_name = "UI"
  8. self.destroy_imm = true
  9. self.use_background = true
  10. self.change_scene_close = true
  11. self.hide_maincancas = false --是否隐藏主界面
  12. -- self.append_to_ctl_queue = true --是否要添加进界面堆栈
  13. self.need_show_money = false --是否要显示顶部的金钱栏
  14. self.is_set_zdepth = true
  15. self.model = SupremeVipModel:getInstance()
  16. self.mainVo = RoleManager.Instance.mainRoleInfo
  17. self.model:Fire(SupremeVipConst.REQUEST_CCMD_EVENT,45104)--查询商城限购数据
  18. if self.model.login_red then
  19. self.model.login_red = false
  20. self.model:Fire(SupremeVipConst.UPDATE_SUPREME_VIP_MAIN_BUTTON_RED)
  21. end
  22. self.item_list = {}
  23. self.load_callback = function ()
  24. self:LoadSuccess()
  25. self:AddEvent()
  26. end
  27. self.open_callback = function ( )
  28. self:UpdateView()
  29. end
  30. self.destroy_callback = function ( )
  31. self:DestroySuccess()
  32. end
  33. end
  34. function SupremeVipBaseView:Open(index)
  35. self.current_index = index or 1
  36. BaseView.Open(self)
  37. end
  38. function SupremeVipBaseView:LoadSuccess()
  39. local nodes = {
  40. "closeBtn:obj", "tabCon", "bg:raw", "con", "titleImg:img","moneyCOn", "find_right:obj",
  41. "rightDayBg:obj:img", "rightForeverBg:obj:img", "activity_btn:obj", "rightForeverText:tmp","rightDayText:tmp",
  42. }
  43. self:GetChildren(nodes)
  44. if not self.money_view then
  45. self.money_view = UIMoneyView.New(self.moneyCOn)
  46. end
  47. self.money_view:SetPosition(-61.5,2.5)
  48. self.money_view:SetData()
  49. -- self.money_view:ChangeShowFlag("smallWindow2")
  50. lua_resM:setOutsideRawImage(self, self.bg_raw, GameResPath.GetViewBigBg("supremeVip_view"))
  51. lua_resM:setOutsideImageSprite(self, self.rightForeverBg_img, GameResPath.GetSupremeVipIcon("right_show_bg2_pointfilter"), true)
  52. lua_resM:setOutsideImageSprite(self, self.rightDayBg_img, GameResPath.GetSupremeVipIcon("right_show_bg1_pointfilter"), true)
  53. lua_resM:setOutsideImageSprite(self, self.titleImg_img, GameResPath.GetSupremeVipIcon("supremeVip_title_1_pointfilter"), true)
  54. end
  55. function SupremeVipBaseView:AddEvent()
  56. local on_click = function ( click_obj )
  57. if self.closeBtn_obj == click_obj then
  58. self:Close()
  59. elseif self.find_right_obj == click_obj then--查看特权
  60. self.model:Fire(SupremeVipConst.OPEN_SUPREME_VIP_FIND_RIGHT_VIEW)
  61. elseif self.activity_btn_obj == click_obj then--激活永久
  62. self.model:Fire(SupremeVipConst.OPEN_SUPREME_VIP_BUY_VIEW)
  63. end
  64. end
  65. AddClickEvent(self.closeBtn_obj, on_click,1)
  66. AddClickEvent(self.find_right_obj, on_click,1)
  67. AddClickEvent(self.activity_btn_obj, on_click,1)
  68. local function refresh_all_view()
  69. self:UpdateView()
  70. end
  71. self:BindEvent(self.model, SupremeVipConst.REFRESH_SUPREME_VIP_DATA,refresh_all_view)
  72. end
  73. function SupremeVipBaseView:UpdateView()
  74. local click_callback = function(index)
  75. for i,v in ipairs(self.item_list) do
  76. v:SetSelected(index == i)
  77. end
  78. self:SwitchTab(index)
  79. end
  80. for k,v in pairs(self.item_list) do
  81. v:SetVisible(false,true)
  82. end
  83. for i=1,4 do
  84. local item = self.item_list[i]
  85. if not item then
  86. item = SupremeVipTabItem.New(self.tabCon)
  87. self.item_list[i] = item
  88. end
  89. item:SetVisible(true)
  90. item:SetData(i,click_callback)
  91. if i == 1 then
  92. item:SetAnchoredPosition(3,0)
  93. elseif i == 2 then
  94. item:SetAnchoredPosition(97,-81)
  95. elseif i == 3 then
  96. item:SetAnchoredPosition(3,-163)
  97. elseif i == 4 then
  98. item:SetAnchoredPosition(97,-243)
  99. end
  100. end
  101. --初始选中
  102. for i,v in ipairs(self.item_list) do
  103. v:SetSelected(self.current_index == i)
  104. end
  105. self:SwitchTab(self.current_index)
  106. self:UpdateLeftView()
  107. end
  108. function SupremeVipBaseView:SwitchTab( index )
  109. self.current_index = index
  110. if index == 1 then
  111. if self.main_view == nil then--领取礼包
  112. self.main_view = SupremeVipMainView.New(self.con)
  113. end
  114. self.main_view:SetData()
  115. self:PopUpChild(self.main_view)
  116. elseif index == 2 then--钻石兑换
  117. if self.diamond_exchange_view == nil then
  118. self.diamond_exchange_view = SupremeVipDiamondExchangeView.New(self.con)
  119. end
  120. self.diamond_exchange_view:SetData()
  121. self:PopUpChild(self.diamond_exchange_view)
  122. elseif index == 3 then--培养丹
  123. self.model.is_first_open_train_drug = false
  124. if self.train_drug_exchange_view == nil then
  125. self.train_drug_exchange_view = SupremeVipTrainDrugExchangeView.New(self.con)
  126. end
  127. self.train_drug_exchange_view:SetData()
  128. self:PopUpChild(self.train_drug_exchange_view)
  129. self.model:Fire(SupremeVipConst.UPDATE_RED_DOT,SupremeVipConst.RED_DOT_TYPE.TrainDrugExchange)
  130. elseif index == 4 then--星钻商城
  131. self.model.is_first_open_shop = false
  132. if self.shop_view == nil then
  133. self.shop_view = SupremeVipShopView.New(self.con)
  134. end
  135. self.shop_view:SetData()
  136. self:PopUpChild(self.shop_view)
  137. self.model:Fire(SupremeVipConst.UPDATE_RED_DOT,SupremeVipConst.RED_DOT_TYPE.Shop)
  138. self.model:Fire(SupremeVipConst.UPDATE_RED_DOT,SupremeVipConst.RED_DOT_TYPE.MoneyLeft)
  139. end
  140. end
  141. function SupremeVipBaseView:DestroySuccess( )
  142. if self.diamond_exchange_view then
  143. self.diamond_exchange_view:DeleteMe()
  144. end
  145. self.diamond_exchange_view = nil
  146. if self.main_view then
  147. self.main_view:DeleteMe()
  148. end
  149. self.main_view = nil
  150. if self.shop_view then
  151. self.shop_view:DeleteMe()
  152. end
  153. self.shop_view = nil
  154. if self.train_drug_exchange_view then
  155. self.train_drug_exchange_view:DeleteMe()
  156. end
  157. self.train_drug_exchange_view = nil
  158. for i, v in pairs(self.item_list) do
  159. v:DeleteMe()
  160. v = nil
  161. end
  162. self.item_list = {}
  163. if self.money_view then
  164. self.money_view:DeleteMe()
  165. self.money_view = nil
  166. end
  167. end
  168. --更新左边界面
  169. function SupremeVipBaseView:UpdateLeftView( )
  170. if not self.is_loaded then return end
  171. local sup_vip_type = RoleManager.Instance.mainRoleInfo.sup_vip_type
  172. self.activity_btn_obj:SetActive(sup_vip_type == 1)
  173. self.rightDayBg_obj:SetActive(sup_vip_type == 1)
  174. self.rightForeverBg_obj:SetActive(sup_vip_type == 2)
  175. self.rightForeverText_tmp.text = sup_vip_type == 2 and "您已是最高阶贵族" or "升级贵族,可享更多特权"
  176. -- local day_time,true_day,hour_time,true_hour,minute_time = self.model:GetLeftMomentSupremeVipDay()
  177. -- if true_day < 1 then
  178. -- if true_hour < 1 then
  179. -- self.rightDayText_tmp.text = sup_vip_type == 1 and "剩余"..minute_time.."分钟" or ""
  180. -- else
  181. -- self.rightDayText_tmp.text = sup_vip_type == 1 and "剩余"..hour_time.."小时" or ""
  182. -- end
  183. -- else--超过一天显示天
  184. -- self.rightDayText_tmp.text = sup_vip_type == 1 and "剩余"..day_time.."天" or ""
  185. -- end
  186. end