|
|
- 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
|