源战役客户端
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

169 рядки
5.3 KiB

4 тижднів тому
  1. EmpowerBaseView = EmpowerBaseView or BaseClass(BaseView)
  2. local EmpowerBaseView = EmpowerBaseView
  3. EmpowerBaseView.TabData = {
  4. [1] = {tab_id = 1, name = "商店", open_level = 40, bg_res = "empower_shop_bg"}, --40
  5. [2] = {tab_id = 2, name = "兑换", open_level = 50, bg_res = "empower_shop_bg"},--50
  6. -- [3] = {tab_id = 3, name = "Tab3", open_level = 110, bg_res = "sociality_bg1"}, --110
  7. -- [4] = {tab_id = 4, name = "Tab4", open_level = 110, bg_res = "sociality_bg1"}, --110
  8. }
  9. function EmpowerBaseView:__init()
  10. self.base_file = "empower"
  11. self.layout_file = "EmpowerBaseView"
  12. self.layer_name = "Activity"
  13. self.destroy_imm = true
  14. self.use_background = true
  15. self.change_scene_close = true --是否切换场景时关闭(弹出界面使用)
  16. self.is_set_zdepth = true
  17. --self.append_to_ctl_queue = true --是否要添加进界面堆栈
  18. self.hide_maincancas = true
  19. self.model = EmpowerModel:GetInstance()
  20. self.select_index = 1
  21. self.view_list = {}
  22. self.load_callback = function ()
  23. self:LoadSuccess()
  24. self:AddEvent()
  25. end
  26. self.open_callback = function ( )
  27. self:OpenSuccess()
  28. end
  29. self.switch_callback = function(index)
  30. self:SwitchTab(index)
  31. end
  32. self.destroy_callback = function ( )
  33. self:DestroySuccess()
  34. end
  35. --self.tab_name_list = {} --不到等级加都不加进去
  36. --local playerLv = RoleManager:getInstance():GetMainRoleVo().level
  37. --for i,v in ipairs(ShapeBaseView.Index2View) do
  38. -- if Config.ViewTabbarOpenLevel.TransformShape[i].open_level <= playerLv then
  39. -- table.insert(self.show_tabs, v)
  40. -- table.insert(self.tab_name_list, ShapeBaseView.TabData[i])
  41. -- end
  42. --end
  43. end
  44. function EmpowerBaseView:Open(select_index)
  45. --self.data = data
  46. self.select_index = select_index
  47. BaseView.Open(self)
  48. end
  49. function EmpowerBaseView:LoadSuccess()
  50. --Message.show("LoadSuccess")
  51. self.container = self:GetChild("windowCon")
  52. local nodes = {
  53. }
  54. self:GetChildren(nodes)
  55. self.model:SetIsShowingShopView(true)
  56. end
  57. function EmpowerBaseView:AddEvent()
  58. local function on_ans_update_red_dot( tab_id,bool )--设置红点的状态注意此处的协议是从model那边发过来的
  59. --Message.show()
  60. self:UpdateRedDot()
  61. end
  62. self.on_ans_update_red_dot_id = self.model:Bind(EmpowerConst.EMPOWER_SHOP_RED_DOT, on_ans_update_red_dot)
  63. end
  64. function EmpowerBaseView:OpenSuccess()
  65. local select_callback = function(index)
  66. --self:SeletedTabbar(index)
  67. --self:ShowTabRedPointState()
  68. self:SwitchTab(index)
  69. end
  70. local close_callback = function()
  71. self:Close()
  72. end
  73. self.tab_win = UITabWindow.New(self.transform, EmpowerBaseView.TabData, select_callback,
  74. close_callback, self.background_wnd, self.container, UITabWindow.SizeSmall, nil,nil,true)
  75. self.tab_win:SetBackgroundRes("guild_support_bg")
  76. --self.tab_win:SetTitleRes("empower_asset","empower_shop_title") --标题
  77. self.tab_win:ChangeShowFlag("Empower", 270013)
  78. if self.tab_win then
  79. self.tab_win:SetTabBarIndex(self.select_index == 0 and 1 or self.select_index, true)
  80. end
  81. self:UpdateView()
  82. end
  83. function EmpowerBaseView:UpdateView()
  84. if self.select_index == EmpowerConst.TabId.EmpowerShopView then -- 主界面1
  85. self.tab_win:SetTitleText("升品商城")
  86. local main_view = self.view_list[1]
  87. if not main_view then
  88. main_view = EmpowerShopView.New(self.container,nil,self.layer_name)
  89. self.view_list[1] = main_view
  90. self.view_list[1]:SetData()
  91. end
  92. elseif self.select_index == EmpowerConst.TabId.EmpowerExchangeView then -- 界面2
  93. self.tab_win:SetTitleText("升品兑换")
  94. local main_view = self.view_list[2]
  95. if not main_view then
  96. main_view = EmpowerExchangeView.New(self.container,nil,self.layer_name)
  97. self.view_list[2] = main_view
  98. self.view_list[2]:SetData()
  99. end
  100. --[[elseif self.select_index == EmpowerConst.TabId.MainView3 then -- 界面3
  101. local main_view = self.view_list[3]
  102. if not main_view then
  103. main_view = RanTestMainView3.New(self.container,nil,self.layer_name)
  104. self.view_list[3] = main_view
  105. end
  106. elseif self.select_index == EmpowerConst.TabId.MainView4 then -- 界面4
  107. local main_view = self.view_list[4]
  108. --main_view:SetData()
  109. if not main_view then
  110. main_view = RanTestMainView4.New(self.container,nil,self.layer_name)
  111. self.view_list[4] = main_view
  112. end]]
  113. end
  114. self:PopUpChild(self.view_list[self.select_index])
  115. self:UpdateRedDot()
  116. end
  117. function EmpowerBaseView:SwitchTab( index )
  118. self.select_index = index or 1
  119. if self.tab_win and self.tab_win.win_bg and self.tab_win.win_title_bg then
  120. self.tab_win:SetTabBarIndex(self.select_index, false, true) -- 跳页签
  121. --self.tab_win:SetBackgroundRes(EmpowerBaseView.TabData[self.select_index].bg_res)
  122. end
  123. self:UpdateView()
  124. end
  125. function EmpowerBaseView:UpdateRedDot( )
  126. if self.tab_win then
  127. --local red_data = self.model:GetEmpowerRedDotList()
  128. --for k,v in pairs(red_data) do
  129. local bool = self.model:GetEmpowerRedDotList()[EmpowerConst.EmpowerViewType.EmpowerShop]
  130. --print("============>>> YiRan:EmpowerBaseView [start:140] bool :",bool)
  131. self.tab_win:ShowRedPoint(1,bool)
  132. --end
  133. end
  134. end
  135. function EmpowerBaseView:DestroySuccess( )
  136. self.model:SetIsShowingShopView(false)
  137. for _,v in pairs(self.view_list) do
  138. v:DeleteMe()
  139. v = nil
  140. end
  141. self.view_list = nil
  142. --if self.on_ans_update_red_dot_id then
  143. -- self.model:UnBind(self.on_ans_update_red_dot_id)
  144. -- self.on_ans_update_red_dot_id = nil
  145. --end
  146. if self.tab_win then
  147. self.tab_win:DeleteMe()
  148. self.tab_win = nil
  149. end
  150. end