源战役客户端
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 
 
 

170 wiersze
5.3 KiB

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