|
|
- --[[@------------------------------------------------------------------
- @description:市场主界面
- @author:wyb
- ----------------------------------------------------------------------]]
- MarketView = MarketView or BaseClass(BaseView)
- MarketView.TAB_DATA = {
- {id = MarketConst.TabId.BuyHall,name = "拍卖大厅",light_res = "icon_bb1_1",dark_res = "icon_bb1_2", open_lv = Config.Moduleid[155].open_lv, open_day = Config.Moduleid[155].open_day },
- {id = MarketConst.TabId.Focus,name = "我的关注",light_res = "icon_ck1_1",dark_res = "icon_ck1_2", open_lv = Config.Moduleid[155].open_lv, open_day = Config.Moduleid[155].open_day},
- {id = MarketConst.TabId.SalesHall,name = "出售大厅",light_res = "icon_ck1_1",dark_res = "icon_ck1_2", open_lv = Config.Moduleid[155].open_lv, open_day = Config.Moduleid[155].open_day},
- {id = MarketConst.TabId.Record,name = "购买记录",light_res = "icon_ck1_1",dark_res = "icon_ck1_2", open_lv = Config.Moduleid[155].open_lv, open_day = Config.Moduleid[155].open_day},
- {id = MarketConst.TabId.Attention,name = "入库提醒",light_res = "icon_ck1_1",dark_res = "icon_ck1_2", open_lv = Config.Moduleid[155].open_lv, open_day = Config.Moduleid[155].open_day},
- }
- function MarketView:__init()
- self.base_file = "market"
- self.layout_file = "MarketView"
- self.layer_name = "UI"
- self.use_background = true
- self.close_mode = CloseMode.CloseDestroy
- self.blur_activity_bg = true
- self.hide_maincancas = true
- self.destroy_imm = true
- self.append_to_ctl_queue = true
- self.is_set_zdepth = true
-
- self.model = MarketModel:getInstance()
- self.mainRoleVo = RoleManager.Instance.mainRoleInfo
- self.sub_view_list = {}
- self.event_list = {}
-
- self.load_callback = function ()
- self:LoadSuccess()
- self:InitEvent()
- end
- self.open_callback = function ()
- self.tabWindowComponent:SetTabBarIndex(self.cur_index or 1)
- end
- self.close_callback = function ()
-
- end
- self.destroy_callback = function ()
- self:Remove()
- end
- end
-
- function MarketView:Open(index, sub_index, param_list )
- self.cur_index = index or 1
- self.sub_index = sub_index
- self.param_list = param_list
- BaseView.Open(self)
- end
-
- function MarketView:ReOpen(index, sub_index, param_list )
- self.cur_index = index or 1
- self.sub_index = sub_index
- self.param_list = param_list
- self.tabWindowComponent:SetTabBarIndex(self.cur_index)
- end
-
- function MarketView:Remove()
- for _, v in pairs(self.event_list) do
- self.model:UnBind(v)
- v = nil
- end
- self.event_list = {}
- for _, v in pairs(self.sub_view_list) do
- v:DeleteMe()
- v = nil
- end
- self.sub_view_list = {}
- if self.tabWindowComponent then
- self.tabWindowComponent:DeleteMe()
- self.tabWindowComponent = nil
- end
- self.model:SetMarketAuctionRed(false)
- end
-
- function MarketView:LoadSuccess()
- self.container
- = GetChildTransforms(self.transform,
- {
- "container",
- })
- if self.tabWindowComponent == nil then
- local select_callback = function(index)
- self:SeletedTabbar(index)
- end
- local close_callback = function()
- self:Close()
- end
- self.tabWindowComponent = UITabWindow.New(self.transform, MarketView.TAB_DATA, select_callback, close_callback, self.background_wnd, self.winCon, UITabWindow.SizeSmallHall, false, nil, true)
- -- self.tabWindowComponent:SetTitleRes("market_asset", "market_title_text1") --标题
- self.tabWindowComponent:SetBackgroundRes("default_bg_6")
- self.tabWindowComponent:SetTitleText( "拍卖" )
- end
- self:ShowTabRedPointState()
- self.model:SetMarketAuctionRed(false)
-
- --距离上次打开界面超过10分钟,购买页签要显示新品角标
- local last_open_view_timestamp = self.model:GetOpenViewTimestamp() or 0
- if TimeUtil:getServerTime() - last_open_view_timestamp > 600 then
- self.tabWindowComponent:SetSpeacialImg(MarketConst.TabId.BuyHall, 2)
- end
- end
-
- function MarketView:InitEvent()
- local function onRefreshTabDot()
- self:ShowTabRedPointState()
- end
- self:BindEvent(self.model, MarketModel.ANS_MARKET_TAB_RED_DOT , onRefreshTabDot)
- end
-
- function MarketView:ShowTabRedPointState()
- local red_data = self.model:GetMarketRedData()
- self.tabWindowComponent:ShowRedPoint(MarketConst.TabId.BuyHall, red_data.guild_red)
- self.tabWindowComponent:ShowRedPoint(MarketConst.TabId.SalesHall, red_data.down_red or red_data.can_up_shelves_red)
- end
-
- function MarketView:SeletedTabbar(index)
- if index == MarketConst.TabId.BuyHall then
- if self.sub_view_list[index] == nil then
- self.sub_view_list[index] = MarketBuyHallView.New(self.container,nil,self.layer_name)
- self.sub_view_list[index]:SetData(self.sub_index, self.param_list)
- else
- self.sub_view_list[index]:RefreshData()
- end
- self.sub_index = nil
- self.param_list = nil
- self.model:ResetOpenViewTimestamp()
- elseif index == MarketConst.TabId.Focus then
- self.model:Fire(MarketModel.REQUEST_CCMD_EVENT, 15512)
- if self.sub_view_list[index] == nil then
- self.sub_view_list[index] = MarketFocusView.New(self.container,nil,self.layer_name)
- end
- self.sub_view_list[index]:SetData()
- elseif index == MarketConst.TabId.SalesHall then
- self.model:Fire(MarketModel.REQUEST_CCMD_EVENT, 15503)
- if self.sub_view_list[index] == nil then
- self.sub_view_list[index] = MarketSalesHallView.New(self.container,nil,self.layer_name)
- end
- self.sub_view_list[index]:SetData(self.sub_index, self.param_list)
- self.param_list = nil
- self.sub_index = nil
- elseif index == MarketConst.TabId.Record then
- if self.sub_view_list[index] == nil then
- self.sub_view_list[index] = MarketRecordView.New(self.container,nil,self.layer_name)
- end
- self.sub_view_list[index]:SetData()
- elseif index == MarketConst.TabId.Attention then
- self.model:Fire(MarketModel.REQUEST_CCMD_EVENT, 15505)
- if self.sub_view_list[index] == nil then
- self.sub_view_list[index] = MarketAttentionView.New(self.container,nil,self.layer_name)
- end
- self.sub_view_list[index]:SetData()
- end
-
- self:PopUpChild(self.sub_view_list[index])
- self.sub_index = nil
- end
|