|
|
- SkillMainView = SkillMainView or BaseClass(BaseView)
- local SkillMainView = SkillMainView
-
- SkillMainView.Tab_list = {
- {id = Config.ConfigSkillUI.TabEnum.CareerSkill, tab_id = Config.ConfigSkillUI.TabEnum.CareerSkill, name = "职业技能", light_res = "icon_jn1_1", dark_res = "icon_jn1_2" },
- {id = Config.ConfigSkillUI.TabEnum.SpecialSkill, tab_id = Config.ConfigSkillUI.TabEnum.SpecialSkill, name = "特殊技能", light_res = "icon_bd1_1", dark_res = "icon_bd1_2"},
- {id = Config.ConfigSkillUI.TabEnum.LegendlSkill, tab_id = Config.ConfigSkillUI.TabEnum.LegendlSkill, name = "传说技能", light_res = "icon_jn1_1", dark_res = "icon_jn1_2" },
- }
- function SkillMainView:__init()
- self.base_file = "skillui"
- self.layout_file = "SkillMainView"
- self.layer_name = "UI"
- self.use_background = true
- self.hide_maincancas = true
- self.use_background = G_USING_BG
-
- self.skillui_model = SkillUIModel:getInstance()
- self.append_to_ctl_queue = true
- self.view_index = false
-
- self.blur_activity_bg = true
- self.use_show_anim = true
- self.use_hide_anim = true
-
- self.show_tabs = {}
- self.tab_name_list = {}
- self.contaner_list = {}
-
- local open_day = ServerTimeModel:getInstance():GetOpenServerDay()
- local playerLv = RoleManager:getInstance():GetMainRoleVo().level
- local turn = RoleManager:getInstance():GetMainRoleVo().turn
- for i, v in ipairs(SkillMainView.Tab_list) do
- local config = Config.ConfigSkillUI.Tab[v.tab_id]
- if config and config.open_level <= playerLv and config.open_day <= open_day then
- table.insert(self.show_tabs, v)
- table.insert(self.tab_name_list, v)
- end
- end
- self.load_callback = function ()
- self:LoadSuccess()
- self:InitEvent()
- end
- self.open_callback = function ()
- self:SeletedTabbar(self.oepn_index, true)
- end
- self.close_callback = function ()
- self:Remove()
- end
- end
-
- function SkillMainView:Open(index,select_up_skill)
- self.oepn_index = index or 1
- self.select_up_skill = select_up_skill
- for index, v in ipairs(self.show_tabs) do
- if self.oepn_index == v.tab_id then
- self.oepn_index = index
- break
- end
- end
- BaseView.Open(self)
- end
-
- function SkillMainView:Remove()
- if self.refresh_red_point_id then
- self.skillui_model:UnBind(self.refresh_red_point_id)
- self.refresh_red_point_id = nil
- end
-
- for i, view in pairs(self.contaner_list) do
- view:DeleteMe()
- end
- if self.tabWindowComponent then
- self.tabWindowComponent:DeleteMe()
- self.tabWindowComponent = nil
- end
- self.contaner_list = nil
-
- if self.base_view then
- self.base_view:DeleteMe()
- self.base_view = nil
- end
- if self.config_view then
- self.config_view:DeleteMe()
- self.config_view = nil
- end
- if self.special_view then
- self.special_view:DeleteMe()
- self.special_view = nil
- end
-
- end
-
- function SkillMainView:LoadSuccess()
- self.winCon = self:GetChild("winCon")
-
- local select_callback = function(index)
- self:SeletedTabbar(index)
- self:ShowTabRedPointState()
- end
-
- local closeWin_callback = function()
- self:Close()
- end
-
- self.tabWindowComponent = UITabWindow.New(self.transform,self.tab_name_list,select_callback,closeWin_callback,self.background_wnd,self.winCon, UITabWindow.SizeSmallHall, false,nil,true)
- self.tabWindowComponent:SetBackgroundRes("skill_main_bg")
- self.tabWindowComponent:SetTitleText("技能")
- end
-
- function SkillMainView:SeletedTabbar(index, force)
-
- if self.select_index == index and not force then
- return
- end
-
- local tab_info = Config.ConfigSkillUI.Tab[self.show_tabs[index].tab_id]
- local turn = RoleManager:getInstance():GetMainRoleVo().turn
-
- if turn < tab_info.turn then
- self.select_index = self.select_index or 1
- Message.show("达成传说职业后可解锁!")
- else
- self.select_index = index
- end
-
- if self.tabWindowComponent ~= nil then
- self.tabWindowComponent:SetTabBarIndex(self.select_index)
- self:UpdateView()
- end
- end
-
- function SkillMainView:InitEvent()
-
- local function RedDotRefresh( )
- self:ShowTabRedPointState()
- end
- self:BindEvent(self.skillui_model, SkillUIModel.UPDATE_TAB_DOT, RedDotRefresh)
-
- local function onGetSkillShortCut( )
- self:UpdateView()
- end
- self:BindEvent(GlobalEventSystem, EventName.GET_SKILL_SHORTCUT, onGetSkillShortCut)
- end
-
- function SkillMainView:UpdateView()
- local index = self.tabWindowComponent:GetCurrentSelectIndex()
- if not self.show_tabs[index] then return end
- if not self.base_view then
- self.base_view = CareerSkillView.New(self.winCon, nil, self.layer_name)
- end
- self.base_view:SetVisible(true)
- self:ResetView()
- local tab_id = self.show_tabs[index].tab_id
-
- if tab_id == Config.ConfigSkillUI.TabEnum.CareerSkill then
- self.base_view:SetData(self.skillui_model:GetAllCareerSkillList(), tab_id, SkillUIDetailItem.UIType.PreViewMode, self.select_up_skill)
-
- elseif tab_id == Config.ConfigSkillUI.TabEnum.SpecialSkill then
- self.base_view:SetData(self.skillui_model:GetAllSpecialSkillList(), tab_id, SkillUIDetailItem.UIType.PreViewMode, self.select_up_skill)
-
- elseif tab_id == Config.ConfigSkillUI.TabEnum.LegendlSkill then
- self.base_view:SetData(self.skillui_model:GetAllLegendlSkillSkillList(), tab_id, SkillUIDetailItem.UIType.PreViewMode, self.select_up_skill)
- end
- self.select_up_skill = false
- end
-
- function SkillMainView:ShowTabRedPointState()
- self.tabWindowComponent:ShowRedPoint(Config.ConfigSkillUI.TabEnum.CareerSkill,self.skillui_model:CheckSkillRedDot( false,Config.ConfigSkillUI.TabEnum.CareerSkill ))
- self.tabWindowComponent:ShowRedPoint(Config.ConfigSkillUI.TabEnum.SpecialSkill,self.skillui_model:CheckSkillRedDot( false,Config.ConfigSkillUI.TabEnum.SpecialSkill ))
- self.tabWindowComponent:ShowRedPoint(Config.ConfigSkillUI.TabEnum.LegendlSkill,self.skillui_model:CheckSkillRedDot( false,Config.ConfigSkillUI.TabEnum.LegendlSkill ))
- end
-
-
- function SkillMainView:ResetView()
- if self.config_view then
- self.config_view:SetVisible(false)
- end
- if self.special_view then
- self.special_view:SetVisible(false)
- end
- end
-
|