|
PetBaseView = PetBaseView or BaseClass(BaseView)
|
|
local PetBaseView = PetBaseView
|
|
|
|
PetBaseView.TabData = {
|
|
{id = PetConst.ModuleId.Training, name = "培养", module_id = 163, sub_id = 1, abName = "pet_asset", light_res = "pet_ui_tab_1_1", dark_res = "pet_ui_tab_1_2", },
|
|
{id = PetConst.ModuleId.Support, name = "出战", module_id = 163, sub_id = 3, abName = "pet_asset", light_res = "pet_ui_tab_2_1", dark_res = "pet_ui_tab_2_2", },
|
|
{id = PetConst.ModuleId.Collection, name = "图鉴", module_id = 163, sub_id = 2, abName = "pet_asset", light_res = "pet_ui_tab_3_1", dark_res = "pet_ui_tab_3_2", },
|
|
{id = PetConst.ModuleId.Awake, name = "觉醒", module_id = 163, sub_id = 4, abName = "pet_asset", light_res = "pet_ui_tab_4_1", dark_res = "pet_ui_tab_4_2", },
|
|
}
|
|
|
|
function PetBaseView:__init()
|
|
self.base_file = "pet"
|
|
self.layout_file = "PetBaseView"
|
|
self.layer_name = "UI"
|
|
self.destroy_imm = true
|
|
self.use_background = G_USING_BG
|
|
self.hide_maincancas = true
|
|
self.change_scene_close = true
|
|
self.append_to_ctl_queue = true --是否要添加进界面堆栈
|
|
self.need_show_money = true --是否要显示顶部的金钱栏
|
|
-- self.is_set_zdepth = true
|
|
self.close_fog = true
|
|
|
|
self.model_activity_bg = true
|
|
self.model_activity_bg_pos = Vector2(-294,160)
|
|
self.model_activity_bg_type = 4
|
|
|
|
self.model = PetModel:getInstance()
|
|
self.current_index = nil
|
|
|
|
self.load_callback = function ()
|
|
self:LoadSuccess()
|
|
self:AddEvent()
|
|
end
|
|
self.open_callback = function ( )
|
|
self:OpenSuccess()
|
|
self:ShowTabRedPointState()
|
|
end
|
|
self.switch_callback = function(index)
|
|
self:SwitchTab(index)
|
|
end
|
|
self.close_win_callback = function ( )
|
|
self:Close()
|
|
end
|
|
self.destroy_callback = function ( )
|
|
self:DestroySuccess()
|
|
end
|
|
end
|
|
|
|
function PetBaseView:Open(index,right_tab_index)
|
|
self.current_index = index or 1
|
|
self.right_tab_index = right_tab_index or 1
|
|
BaseView.Open(self)
|
|
end
|
|
|
|
function PetBaseView:LoadSuccess()
|
|
local nodes = {
|
|
"winCon",
|
|
}
|
|
self:GetChildren(nodes)
|
|
|
|
|
|
self.tabWindowComponent = UITabWindow.New(self.transform,PetBaseView.TabData,self.switch_callback,
|
|
self.close_win_callback,self.background_wnd,false, UITabWindow.SizeLarge, false,nil,true)
|
|
self.tabWindowComponent:SetTitleText("宠物")
|
|
self.tabWindowComponent:SetUIBack({target = self, bg1 = GameResPath.GetViewBigBg("default_bg_2")})
|
|
end
|
|
|
|
function PetBaseView:AddEvent()
|
|
local function on_ans_update_red_dot()
|
|
self:ShowTabRedPointState()
|
|
end
|
|
self:BindEvent(self.model, PetConst.ANS_UPDATE_RED_DOT, on_ans_update_red_dot)
|
|
end
|
|
|
|
function PetBaseView:OpenSuccess()
|
|
-- self:SwitchTab(self.current_index or 1)
|
|
local list = self.model.pet_list
|
|
if not list or TableSize(list) <= 0 then
|
|
self.current_index = 3
|
|
end
|
|
self.tabWindowComponent:SetTabBarIndex(self.current_index or 1)
|
|
end
|
|
|
|
function PetBaseView:SwitchTab( index )
|
|
if index == 1 or index == 2 or index == 4 then
|
|
local list = self.model.pet_list
|
|
if not list or TableSize(list) <= 0 then
|
|
Message.show("需要激活至少1只宠物哦!","fault")
|
|
self.tabWindowComponent:SetTabBarIndex(PetConst.ModuleId.Collection,false,true)
|
|
return
|
|
end
|
|
end
|
|
|
|
--切换页签时候,用于防止重复点击item的标识也要重置
|
|
self.model.select_collect_item_id = 0
|
|
self.model.select_item_id = 0
|
|
|
|
self.current_index = index
|
|
|
|
if index == 1 then--宠物培养界面(主界面)
|
|
if self.pet_training_view == nil then
|
|
self.pet_training_view = PetTrainingView.New(self.winCon)
|
|
end
|
|
self.pet_training_view:SetData(self.right_tab_index)
|
|
self:PopUpChild(self.pet_training_view)
|
|
elseif index == 3 then--宠物图鉴界面(宠物收集)
|
|
if self.pet_collection_view == nil then
|
|
self.pet_collection_view = PetCollectionView.New(self.winCon)
|
|
end
|
|
self.pet_collection_view:SetData()
|
|
self:PopUpChild(self.pet_collection_view)
|
|
self.right_tab_index = 1
|
|
elseif index == 2 then--宠物声援界面
|
|
if self.pet_support_view == nil then
|
|
self.pet_support_view = PetSupportView.New(self.winCon)
|
|
end
|
|
self.pet_support_view:SetData()
|
|
self:PopUpChild(self.pet_support_view)
|
|
self.right_tab_index = 1
|
|
elseif index == 4 then--宠物觉醒界面
|
|
if self.pet_awake_view == nil then
|
|
self.pet_awake_view = PetAwakeView.New(self.winCon)
|
|
end
|
|
self.pet_awake_view:SetData()
|
|
self:PopUpChild(self.pet_awake_view)
|
|
self.right_tab_index = 1
|
|
end
|
|
end
|
|
|
|
function PetBaseView:DestroySuccess( )
|
|
if self.tabWindowComponent then
|
|
self.tabWindowComponent:DeleteMe()
|
|
end
|
|
self.tabWindowComponent = nil
|
|
|
|
if self.pet_training_view then
|
|
self.pet_training_view:DeleteMe()
|
|
end
|
|
self.pet_training_view = nil
|
|
|
|
if self.pet_collection_view then
|
|
self.pet_collection_view:DeleteMe()
|
|
end
|
|
self.pet_collection_view = nil
|
|
|
|
if self.pet_support_view then
|
|
self.pet_support_view:DeleteMe()
|
|
end
|
|
self.pet_support_view = nil
|
|
|
|
if self.pet_awake_view then
|
|
self.pet_awake_view:DeleteMe()
|
|
end
|
|
self.pet_awake_view = nil
|
|
-- 复原绿屏
|
|
CheatModel:getInstance():DisabledGreenScreenEffect()
|
|
end
|
|
|
|
function PetBaseView:ShowTabRedPointState()
|
|
local red_info = self.model:GetAllRedDot()
|
|
|
|
local bool_1 = red_info[PetConst.RED_DOT_TYPE.Feed] or red_info[PetConst.RED_DOT_TYPE.Evolve] or red_info[PetConst.RED_DOT_TYPE.Diamond] or red_info[PetConst.RED_DOT_TYPE.DiamondCompose]
|
|
self.tabWindowComponent:ShowRedPoint(PetConst.ModuleId.Training, bool_1)
|
|
|
|
local bool_2 = red_info[PetConst.RED_DOT_TYPE.Active]
|
|
self.tabWindowComponent:ShowRedPoint(PetConst.ModuleId.Collection, bool_2)
|
|
|
|
local bool_3 = red_info[PetConst.RED_DOT_TYPE.Reward] or red_info[PetConst.RED_DOT_TYPE.Vote]
|
|
self.tabWindowComponent:ShowRedPoint(PetConst.ModuleId.Support, bool_3)
|
|
|
|
local bool_4 = red_info[PetConst.RED_DOT_TYPE.Awake]
|
|
self.tabWindowComponent:ShowRedPoint(PetConst.ModuleId.Awake, bool_4)
|
|
end
|