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
|