EmpowerBaseView = EmpowerBaseView or BaseClass(BaseView) local EmpowerBaseView = EmpowerBaseView EmpowerBaseView.TabData = { [1] = {tab_id = 1, name = "商店", open_level = 40, bg_res = "empower_shop_bg"}, --40 [2] = {tab_id = 2, name = "兑换", open_level = 50, bg_res = "empower_shop_bg"},--50 -- [3] = {tab_id = 3, name = "Tab3", open_level = 110, bg_res = "sociality_bg1"}, --110 -- [4] = {tab_id = 4, name = "Tab4", open_level = 110, bg_res = "sociality_bg1"}, --110 } function EmpowerBaseView:__init() self.base_file = "empower" self.layout_file = "EmpowerBaseView" self.layer_name = "Activity" self.destroy_imm = true self.use_background = true self.change_scene_close = true --是否切换场景时关闭(弹出界面使用) self.is_set_zdepth = true --self.append_to_ctl_queue = true --是否要添加进界面堆栈 self.hide_maincancas = true self.model = EmpowerModel:GetInstance() self.select_index = 1 self.view_list = {} self.load_callback = function () self:LoadSuccess() self:AddEvent() end self.open_callback = function ( ) self:OpenSuccess() end self.switch_callback = function(index) self:SwitchTab(index) end self.destroy_callback = function ( ) self:DestroySuccess() end --self.tab_name_list = {} --不到等级加都不加进去 --local playerLv = RoleManager:getInstance():GetMainRoleVo().level --for i,v in ipairs(ShapeBaseView.Index2View) do -- if Config.ViewTabbarOpenLevel.TransformShape[i].open_level <= playerLv then -- table.insert(self.show_tabs, v) -- table.insert(self.tab_name_list, ShapeBaseView.TabData[i]) -- end --end end function EmpowerBaseView:Open(select_index) --self.data = data self.select_index = select_index BaseView.Open(self) end function EmpowerBaseView:LoadSuccess() --Message.show("LoadSuccess") self.container = self:GetChild("windowCon") local nodes = { } self:GetChildren(nodes) self.model:SetIsShowingShopView(true) end function EmpowerBaseView:AddEvent() local function on_ans_update_red_dot( tab_id,bool )--设置红点的状态注意此处的协议是从model那边发过来的 --Message.show() self:UpdateRedDot() end self.on_ans_update_red_dot_id = self.model:Bind(EmpowerConst.EMPOWER_SHOP_RED_DOT, on_ans_update_red_dot) end function EmpowerBaseView:OpenSuccess() local select_callback = function(index) --self:SeletedTabbar(index) --self:ShowTabRedPointState() self:SwitchTab(index) end local close_callback = function() self:Close() end self.tab_win = UITabWindow.New(self.transform, EmpowerBaseView.TabData, select_callback, close_callback, self.background_wnd, self.container, UITabWindow.SizeSmall, nil,nil,true) self.tab_win:SetBackgroundRes("guild_support_bg") --self.tab_win:SetTitleRes("empower_asset","empower_shop_title") --标题 self.tab_win:ChangeShowFlag("Empower", 270013) if self.tab_win then self.tab_win:SetTabBarIndex(self.select_index == 0 and 1 or self.select_index, true) end self:UpdateView() end function EmpowerBaseView:UpdateView() if self.select_index == EmpowerConst.TabId.EmpowerShopView then -- 主界面1 self.tab_win:SetTitleText("升品商城") local main_view = self.view_list[1] if not main_view then main_view = EmpowerShopView.New(self.container,nil,self.layer_name) self.view_list[1] = main_view self.view_list[1]:SetData() end elseif self.select_index == EmpowerConst.TabId.EmpowerExchangeView then -- 界面2 self.tab_win:SetTitleText("升品兑换") local main_view = self.view_list[2] if not main_view then main_view = EmpowerExchangeView.New(self.container,nil,self.layer_name) self.view_list[2] = main_view self.view_list[2]:SetData() end --[[elseif self.select_index == EmpowerConst.TabId.MainView3 then -- 界面3 local main_view = self.view_list[3] if not main_view then main_view = RanTestMainView3.New(self.container,nil,self.layer_name) self.view_list[3] = main_view end elseif self.select_index == EmpowerConst.TabId.MainView4 then -- 界面4 local main_view = self.view_list[4] --main_view:SetData() if not main_view then main_view = RanTestMainView4.New(self.container,nil,self.layer_name) self.view_list[4] = main_view end]] end self:PopUpChild(self.view_list[self.select_index]) self:UpdateRedDot() end function EmpowerBaseView:SwitchTab( index ) self.select_index = index or 1 if self.tab_win and self.tab_win.win_bg and self.tab_win.win_title_bg then self.tab_win:SetTabBarIndex(self.select_index, false, true) -- 跳页签 --self.tab_win:SetBackgroundRes(EmpowerBaseView.TabData[self.select_index].bg_res) end self:UpdateView() end function EmpowerBaseView:UpdateRedDot( ) if self.tab_win then --local red_data = self.model:GetEmpowerRedDotList() --for k,v in pairs(red_data) do local bool = self.model:GetEmpowerRedDotList()[EmpowerConst.EmpowerViewType.EmpowerShop] --print("============>>> YiRan:EmpowerBaseView [start:140] bool :",bool) self.tab_win:ShowRedPoint(1,bool) --end end end function EmpowerBaseView:DestroySuccess( ) self.model:SetIsShowingShopView(false) for _,v in pairs(self.view_list) do v:DeleteMe() v = nil end self.view_list = nil --if self.on_ans_update_red_dot_id then -- self.model:UnBind(self.on_ans_update_red_dot_id) -- self.on_ans_update_red_dot_id = nil --end if self.tab_win then self.tab_win:DeleteMe() self.tab_win = nil end end