|
|
- ChildHandbookViewNew = ChildHandbookViewNew or BaseClass(BaseView)
- local ChildHandbookViewNew = ChildHandbookViewNew
-
- function ChildHandbookViewNew:__init()
- self.base_file = "child"
- self.layout_file = "ChildHandbookViewNew"
- self.layer_name = "UI"
- self.destroy_imm = true
- self.use_background = G_USING_BG --全屏界面默认使用这个参数
- self.hide_maincancas = true --全屏界面需要放开隐藏主UI
- self.change_scene_close = true
- self.append_to_ctl_queue = false --是否要添加进界面堆栈
- self.need_show_money = false --是否要显示顶部的金钱栏
- self.blur_activity_bg = true
-
- self.model = ChildModel:getInstance()
-
- self.suit_tab_item_list = {}
- self.handbook_item_list = {}
- self.select_tab_item = nil
- self.select_item = nil --
- self.send_16536_Item_data = nil --吧发送的那个item记录下来,刷新的时候可以对比是否选中
- self.fire_change_visible_event = true
- 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
- end
-
- function ChildHandbookViewNew:Open( )
- --self.data = data
- BaseView.Open(self)
- end
-
- function ChildHandbookViewNew:LoadSuccess()
- local nodes = {
- "left/ScrollView_item/Viewport/Content_item",
- "mid/ScrollView_handbook_item/Viewport/Content_handbook_item",
- "mid/btn_break:obj", "mid/btn_reward:obj",
- "mid/btn_reward/btn_reward_red_dot:obj",
- "mid/btn_break/btn_break_red_dot:obj",
- "mid/btn_up:obj", "mid/btn_up/btn_up_red_dot:obj","bg:raw",
- "close:obj",
- }
- self:GetChildren(nodes)
-
- self:UpdateBaseView( )
- end
-
- function ChildHandbookViewNew:UpdateBaseView( )
- self.levelUpAwardItem = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem, self.item_parent)
- lua_resM:setOutsideRawImage(self, self.bg_raw, GameResPath.GetViewBigBg("child_hankbook_bg_1173_683"))
- -- local close_callback = function()
- -- self:Close()
- -- end
- -- self.tab_win = UITabWindow.New(self.transform, nil, nil,
- -- close_callback, self.background_wnd, nil, UITabWindow.SizeSmallHallNoTab, false,nil,true)
- --self.tab_win:SetTitleRes("child_asset","child_title") --标题
- -- self.tab_win:SetBackgroundRes("child_hankbook_bg_1280_720")
- -- self.tab_win:SetTitleText("宝宝玩具")
- -- self.tab_win:ChangeShowFlag("Child")
- end
-
- function ChildHandbookViewNew:AddEvent()
- --红点更新
- local function updata_Child_RED_DOT_VIEW_fun(id)
- if id ~= ChildConst.TabId.ChildHandbook then return end
- self:UpdateRedDot()
- if self.select_tab_item then
- self:UpdateRedDotItem(self.select_tab_item.data.suit_type)
- end
- end
- self.updata_Child_RED_DOT_VIEW_id = self.model:Bind(ChildConst.Child_RED_DOT_VIEW, updata_Child_RED_DOT_VIEW_fun)
-
- -- 更新数据
- local function updata_child_dif_suit_info_fun(need_check_effect)
- self:SetViewListCon(self.select_tab_item.data.suit_type, need_check_effect)
- end
- self.updata_child_dif_suit_info = self.model:Bind(ChildConst.UPDATA_CHILD_HB_SUIT_INFO, updata_child_dif_suit_info_fun)
-
- local function onBtnClickHandler(target, x, y)
- if target == self.btn_break_obj then
- self.model:Fire(ChildConst.OPEN_CHILD_HANDBOOK_BREAK_VIEW)
- elseif target == self.btn_reward_obj then
- self.model:Fire(ChildConst.OPEN_CHILD_HANDBOOK_SUIT_REWARD_VIEW)
- elseif target == self.btn_up_obj then
- self.model:Fire(ChildConst.OPEN_CHILD_HANDBOOK_UPGRADE_VIEW)
- elseif target == self.close_obj then
- self:Close()
- end
- end
- AddClickEvent(self.btn_break_obj, onBtnClickHandler)
- AddClickEvent(self.btn_reward_obj, onBtnClickHandler)
- AddClickEvent(self.btn_up_obj, onBtnClickHandler)
- AddClickEvent(self.close_obj, onBtnClickHandler)
- end
-
- function ChildHandbookViewNew:OpenSuccess()
- self:UpdateView()
- end
-
- function ChildHandbookViewNew:UpdateView()
- local toy_suit_list = self.model:GetToySuitInfo()
-
- local function callback( item )
- for k,v in pairs(self.suit_tab_item_list) do
- v:SetChosen(false)
- end
- item:SetChosen(true)
- self:SetViewListCon(item.data.suit_type)
- self.select_tab_item = item
- end
- for k,v in pairs(toy_suit_list) do
- local item = self.suit_tab_item_list[k]
- if item == nil then
- item = ChildHandbookSuitItem.New(self.Content_item)
- self.suit_tab_item_list[k] = item
- end
- --local data = self.model:GetConfigChildSkillInfo(v.skill_id,v.skill_lv)
- self.suit_tab_item_list[k]:SetData(v,callback)
- if k == 1 then
- self:SetViewListCon(v.suit_type)
- self.select_tab_item = self.suit_tab_item_list[k]
- self.suit_tab_item_list[k]:SetChosen(true)
- end
- end
- self:UpdateRedDot()
- end
-
- function ChildHandbookViewNew:UpdateRedDot( )
- local red_dot_list = self.model:GetRedDotChildHandbook()
- --logWarn('=======Msh:ChildHandbookViewNew.lua[138]=======')
- --PrintTable(red_dot_list)
- -- 页签红点
- for k,v in pairs(self.suit_tab_item_list) do --tab
- v:SetRedDot(false)
- for k,v_red in pairs(red_dot_list.active_list ) do
- if v_red.suit_type == v.data.suit_type then
- v:SetRedDot(true)
- end
- end
- end
- self.btn_reward_red_dot_obj:SetActive(TableSize(red_dot_list.suit_reward_list) > 0)
- self.btn_break_red_dot_obj:SetActive(red_dot_list.is_can_break)
-
- -- 材料
- self.btn_up_red_dot_obj:SetActive(red_dot_list.is_level_up)
-
- end
-
- function ChildHandbookViewNew:UpdateRedDotItem(suit_type)
- local red_dot_list = self.model:GetRedDotChildHandbook()
- for k,v in pairs(self.handbook_item_list) do
- v:SetRedDot(false)
- for k,v_red in pairs(red_dot_list.active_list) do
- if v_red.toy_id == v.data.toy_id and v_red.suit_type == suit_type then
- v:SetRedDot(true)
- end
- end
- end
- end
-
- function ChildHandbookViewNew:SetViewListCon( suit_type, check_effect )
- local handbook_list = self.model:GetSuitToyList(suit_type)
- if not handbook_list then return end
-
- for k,v in pairs(handbook_list) do
- local item = self.handbook_item_list[k]
- if item == nil then
- item = ChildHandbookItem.New(self.Content_handbook_item)
- self.handbook_item_list[k] = item
- end
-
- self.handbook_item_list[k]:SetData(v, check_effect)
- self.handbook_item_list[k]:SetVisible(true)
-
- end
-
- for i=#handbook_list+1,#self.handbook_item_list do
- self.handbook_item_list[i]:SetVisible(false)
- end
-
- self:UpdateRedDotItem(suit_type)
- end
-
- function ChildHandbookViewNew:SwitchTab( index )
-
- end
-
- function ChildHandbookViewNew:DestroySuccess( )
- self.attr_item_list = {}
- for i, v in ipairs(self.suit_tab_item_list) do
- v:DeleteMe()
- v = nil
- end
- self.suit_tab_item_list = {}
-
- for i, v in ipairs(self.handbook_item_list) do
- v:DeleteMe()
- v = nil
- end
- self.handbook_item_list = {}
-
- if self.levelUpAwardItem then
- UIObjPool:getInstance():PushItem(UIObjPool.UIType.AwardItem, self.levelUpAwardItem)
- self.levelUpAwardItem = nil
- end
-
-
- if self.updata_child_dif_suit_info then
- self.model:UnBind(self.updata_child_dif_suit_info)
- self.updata_child_dif_suit_info = nil
- end
-
- if self.updata_Child_RED_DOT_VIEW_id then
- self.model:UnBind(self.updata_Child_RED_DOT_VIEW_id)
- self.updata_Child_RED_DOT_VIEW_id = nil
- end
-
- -- if self.tab_win then
- -- self.tab_win:DeleteMe()
- -- self.tab_win = nil
- -- end
- end
|