|
|
- NewMainRoleView = NewMainRoleView or BaseClass(BaseView)
- local NewMainRoleView = NewMainRoleView
-
- NewMainRoleView.TabData = {
- {id = NewMainRoleModel.TabId.ROLE, name = "角色", abName = "newmainrole_asset", light_res = "newMainRole_tab_1", dark_res = "newMainRole_tab_1_gray", view = "RoleAttributeView",open_lv = 1},
- {id = NewMainRoleModel.TabId.Light, name = "幻光", abName = "newmainrole_asset", light_res = "newMainRole_tab_5", dark_res = "newMainRole_tab_5_gray", view = "LightSubView",open_lv = Config.Moduleid[147].open_lv,open_task = Config.Moduleid[147].task_id },
- -- {id = NewMainRoleModel.TabId.NATURE, name = "性格", abName = "newmainrole_asset", light_res = "newMainRole_tab_5", dark_res = "newMainRole_tab_5_gray", view = "NatureSubView",open_lv = Config.Moduleid[167].open_lv },
- {id = NewMainRoleModel.TabId.SOULPOWER, name = "魂力", abName = "newmainrole_asset", light_res = "newMainRole_tab_5", dark_res = "newMainRole_tab_5_gray", view = "SoulPowerView",open_lv = Config.Moduleid[144].open_lv },
- {id = NewMainRoleModel.TabId.REIN, name = "转职", abName = "newmainrole_asset", light_res = "newMainRole_tab_5", dark_res = "newMainRole_tab_5_gray", view = "ReinTaskView",open_lv = Config.Moduleid[164].open_lv },
- -- [3] = {id = 3, name = "神格", light_res = "icon_sg1_1", dark_res = "icon_sg1_2"},
- -- [4] = {id = 4, name = "法则", light_res = "icon_fz1_1", dark_res = "icon_fz1_2"},
- }
-
- function NewMainRoleView:__init()
- self.base_file = "newMainRole"
- self.layout_file = "NewMainRoleView"
- self.layer_name = "UI"
- self.destroy_imm = true
- self.use_background = G_USING_BG
- self.model_activity_bg = true -- 3d背景模式,带镜面反射,一级全屏界面才需要
- self.model_activity_bg_pos = Vector2(-308,30) -- 3d背景的偏移坐标,默认是居中的,如果你的模型不是居中的话就要调整坐标
- self.model_activity_bg_type = 2
- self.append_to_ctl_queue = true
- self.change_scene_close = true
- self.hide_maincancas = true
- self.close_fog = true
- self.fire_change_visible_event = true
- self.mainVo = RoleManager.Instance.mainRoleInfo
- self.model = NewMainRoleModel:getInstance()
- MateModel:GetInstance():Fire(MateConst.REQ_BASIC_INFO)--羁绊信息
- self:AddPreLoadList("reincarnation", {"ReinTaskScrollItem", "ReinTaskDataItem"})
- -- self:AddPreLoadList("reincarnation", {"ReinTaskDataItem"})
- self.current_index = false
-
- self.contaner_list = {}
- self.tab_name_list = {}
-
- self.load_callback = function ()
- self:LoadSuccess()
- self:AddEvent()
- end
- self.open_callback = function ( )
- self:OpenSuccess()
- self:SwitchTab(self.current_index or 1, true)
- 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 NewMainRoleView:GetRealIndex( index )
- index = index or 1
- return index
- end
-
- function NewMainRoleView:Open(index,sub_index,value)
- self.current_index = self:GetRealIndex(index)
- self.sub_index = sub_index
- self.value = value
- BaseView.Open(self)
- end
-
- function NewMainRoleView:ReOpen(index,sub_index,value)
- self.current_index = self:GetRealIndex(index)
- self.sub_index = sub_index
- self.value = value
- self:SwitchTab(self.current_index or 1, true)
- self:ShowTabRedPointState()
- end
-
- function NewMainRoleView:LoadSuccess()
- local nodes = {
- "winCon",
- }
- self:GetChildren(nodes)
-
- self.tabWindowComponent = UITabWindow.New(self.transform,NewMainRoleView.TabData,self.switch_callback,
- self.close_win_callback,self.background_wnd,self.winCon, UITabWindow.SizeLarge, false,nil,true)
- -- self.tabWindowComponent:SetTitleRes("newmainrole_asset", "newMainRole_title_1") --标题
- -- self.tabWindowComponent:SetBackgroundRes("default_bg_1")
- self.tabWindowComponent:SetTitleText( "角色" )
- self.tabWindowComponent:SetUIBack({target = self, bg1 = GameResPath.GetViewBigBg("default_bg_1")})
- end
-
- function NewMainRoleView:AddEvent()
- local function on_ans_update_red_dot()
- self:ShowTabRedPointState()
- end
- self:BindEvent(self.model, NewMainRoleModel.ANS_UPDATE_RED_DOT, on_ans_update_red_dot)
-
- local function on_close_new_main_role_view()
- self:Close()
- end
- self:BindEvent(self.model, NewMainRoleModel.CLOSE_NEW_MAIN_ROLE_VIEW, on_close_new_main_role_view)
-
- local function onGuideTrigger()
- self:AddToStageHandler()
- end
- self.guide_trigger_id = GlobalEventSystem:Bind(EventName.TRIGGER_GUIDE_TYPE,onGuideTrigger)
- end
-
- function NewMainRoleView:OpenSuccess()
- self:UpdateView()
- end
-
- function NewMainRoleView:SetRoleLevelName()
- if self.level_item == nil then
- self.level_item = self:CreateItem(RoleLevelItem, self.level_con)
- end
- self.level_item:SetData(self.mainVo.level, self.mainVo.turn, true, RoleLevelAlignType.MIDDLE, self.mainVo.name, "'#fffce5'", 22)
- end
-
- function NewMainRoleView:UpdateView()
-
- end
-
- function NewMainRoleView:SwitchTab( index, force )
- if self.current_index == index and not force then return end
- if self.tabWindowComponent ~= nil then
- self.tabWindowComponent:SetTabBarIndex(index)
- end
- local chile_view = self.contaner_list[index]
- if not chile_view then
- local viewModule = false
- for k,v in pairs(NewMainRoleView.TabData) do
- if v.id == tonumber(index) then
- viewModule = v
- break
- end
- end
-
- if viewModule then
- chile_view = self:CreateItem(_G[viewModule.view], self.winCon, self.layer_name)
- end
- self.contaner_list[index] = chile_view
- end
- if chile_view then
- if chile_view.SetData then
- chile_view:SetData(index, self.sub_index, self.value)
- end
- self:PopUpChild(chile_view)
- self.sub_index = nil--一般是用来跳转的 用完就置空了
- end
- self.current_index = index
-
- if index == NewMainRoleModel.TabId.ROLE then
- self.tabWindowComponent:SetBackgroundRes("default_bg_2")
- elseif index == NewMainRoleModel.TabId.Light then
- self.tabWindowComponent:SetBackgroundRes("default_bg_2")
- elseif index == NewMainRoleModel.TabId.NATURE then
- self.tabWindowComponent:SetBackgroundRes("default_bg_2")
- elseif index == NewMainRoleModel.TabId.REIN then
- self.tabWindowComponent:SetBackgroundRes("default_bg_2")
- end
- end
-
- function NewMainRoleView:DestroySuccess( )
- if self.refresh_dot_id then
- self.model:UnBind(self.refresh_dot_id)
- self.refresh_dot_id = nil
- end
-
- if self.guide_trigger_id then
- GlobalEventSystem:UnBind(self.guide_trigger_id)
- self.guide_trigger_id = nil
- end
-
- if self.tabWindowComponent then
- self.tabWindowComponent:DeleteMe()
- end
- self.tabWindowComponent = nil
- end
-
- function NewMainRoleView:ShowTabRedPointState()
- self.tabWindowComponent:ShowRedPoint(NewMainRoleModel.TabId.Light, LightModel:GetInstance():GetLightAllRed(false))
- -- self.tabWindowComponent:ShowRedPoint(NewMainRoleModel.TabId.NATURE, NatureModel:getInstance():GetNatureAllRed(true))
- self.tabWindowComponent:ShowRedPoint(NewMainRoleModel.TabId.SOULPOWER, SoulPowerModel:getInstance():IsSoulPowerRed())
- self.tabWindowComponent:ShowRedPoint(NewMainRoleModel.TabId.REIN, ReincarnationModel:getInstance():GetReinRed())
- self.tabWindowComponent:ShowRedPoint(NewMainRoleModel.TabId.ROLE, KfWorldModel:getInstance():GetRewardGetRed())
- end
-
-
- function NewMainRoleView:AddToStageHandler()
- local helpVo = GuideModel:getInstance():GetHelpVo(HelpType.TYPE_LIGHT,5)
- if not helpVo then return end
- local help_type = helpVo.help_type
- local step = helpVo.step
- local button = false
- if help_type == HelpType.TYPE_LIGHT and step == 5 then
- GlobalEventSystem:Fire(EventName.FINISH_CURRENT_HELP_STEP,helpVo)
- self:Close()
- -- button = self.tabWindowComponent and self.tabWindowComponent.win_close_btn
- end
- -- if button then
- -- local function call_back()
- -- self:Close()
- -- end
- -- GlobalEventSystem:Fire(EventName.OPEN_GUIDE_PROMPT_VIEW, button.transform, self.transform, call_back, helpVo, self.layout_file)
- -- end
- end
-
- function NewMainRoleView:Close()
- --完成引导
- local helpVo = GuideModel:getInstance():GetHelpVo(HelpType.TYPE_LIGHT,5)
- if helpVo then
- if helpVo.step == 5 then
- GlobalEventSystem:Fire(EventName.FINISH_CURRENT_HELP_STEP,helpVo)
- end
- GlobalEventSystem:Fire(EventName.FORCE_TO_DO_TASK)
- end
- BaseView.Close(self)
- end
|