--- 战队信息界面 local UIHeroLightEffectTool = require "View/Common/UIHeroLightEffectTool" local UICharacter = UIViewClass() local Common2DScenePrefab = ConstAssetPathConfig.Common2DScenePrefab function UICharacter:OnClickClose() self:CloseView(true) end function UICharacter:OnCreated() self.heroLightEffectDatas = UIHeroLightEffectTool.CreateHeroLightEffectDatas(false) self.modelComponentDataHandle = UTL.UIRender.CreateModelComponentDatas(self.HeroCurtain) end function UICharacter:OnOpened(context) self.hasAnim = false self.index = context and context.subIndex or 1 self.subViews = { {"Character/UICharacterTeamPanel", Const_IDS.IDS_Team_Battle}, {"Character/UICharacterTitle", Const_IDS.IDS_Title_Title}, } self.group_Toggles = self.UITemplateLeftBtnPanel.toggles_Group --称号资源没下好不开放入口 if CTL.HotFix.CheckAssetIsReady("Title") then UTL.Toggle.InitToggleGroupByIDS(self.group_Toggles, "txt",{Const_IDS.IDS_Team_Battle, Const_IDS.IDS_Title_Title}) else UTL.Toggle.InitToggleGroupByIDS(self.group_Toggles, "txt",{Const_IDS.IDS_Team_Battle}) end self:RefreshToggleView(self.subViews, self.subIndex) self.group_Toggles:SelectIndex(self.index - 1) self:RegistSystemEvent(CTL.RedPoint.RedPointKey.TownHead_Team, self.RefreshTitleRed) self:RegistSystemEvent(CTL.RedPoint.RedPointKey.TownHead_HonorSignet, self.RefreshTitleRed) self:RegistSystemEvent(CTL.RedPoint.RedPointKey.TownHead_Title, self.RefreshTitleRed) self:RegistSystemEvent(CTL.RedPoint.RedPointKey.TownHead_Title, self.RefreshTitleRed) -- 称号红点 -- 设置标题 UIUtils.SetLabelText(self.UITemplateTitlePanel.lab_Title,Const_IDS.IDS_Team_Info) UIUtils.SetActive(self.UITemplateTitlePanel.btn_Info, false) UIManager.ActiveUIModle(false, "UICharacter") local playerHeroID = MDL.Player.GetCurShowId() local bgTextruePath = ConstAssetPathConfig.bgTextruePath --使用新的UIModelComponent组件 UTL.UIRender.Create2DSceneTrans(self.modelComponentDataHandle, Common2DScenePrefab, 1600, 0, 1600, bgTextruePath, true) UTL.UIRender.CreatePlayerModel(self.modelComponentDataHandle, playerHeroID, nil, nil, true) UTL.UIRender.SetHeroParentPos(self.modelComponentDataHandle, 0.37, -1.1, 0) UTL.UIRender.SetHeroParentRot(self.modelComponentDataHandle, 0, -10, 0) if MDL.DivineWeaponForgeSoul.IsWeaponSoulActive(playerHeroID) then UTL.UIRender.LoadPlayerWeaponSoul(self.modelComponentDataHandle, MDL.DivineWeaponForgeSoul.GetWeaponForgeSoulSkillsLv(playerHeroID)) end local heroLightEffects = MDL.LightEffect.GetHeroWearLightEffectIDList(playerHeroID) self:BeginHeroLightEffect(heroLightEffects) self:RefreshTitleRed() end function UICharacter:RefreshTitleRed() local teamRpActive = CTL.RedPoint.GetRedPointActive(CTL.RedPoint.RedPointKey.TownHead_Team) or CTL.RedPoint.GetRedPointActive(CTL.RedPoint.RedPointKey.TownHead_HonorSignet) self.group_Toggles:SetRedPoint(0, teamRpActive) local titleRpActive = CTL.RedPoint.GetRedPointActive(CTL.RedPoint.RedPointKey.TownHead_Title) self.group_Toggles:SetRedPoint(1, titleRpActive) end function UICharacter:OnClosed() UIUtils.SetActive(self.UITemplateTitlePanel.btn_Info, true) UIManager.ActiveUIModle(true, "UICharacter") UTL.UIRender.DisposeModelComponentData(self.modelComponentDataHandle) self:StopHeroLightEffect(true) end function UICharacter:OnBackButtonPressed() self:OnButtonClicked(self.UITemplateTitlePanel.btn_close) end function UICharacter:OnButtonClicked(comp) if comp == self.UITemplateTitlePanel.btn_close then self:CloseView(true) elseif comp == self.UITemplateTitlePanel.btn_Home then CTL.HomeMain.CloseViewBackHomeMain() end end function UICharacter:RefreshToggleView(subViews, subIndex) if self.subViews == subViews then self.panelRoot:CloseAll() self.subViews = subViews else return end self._viewNames = {} self._viewClasses = {} for index, sub in ipairs(self.subViews) do self._viewNames[index] = sub[1] end self.panelRoot:CloseAll() self.curPanel = self.panelRoot:OpenView(GetViewClass(self._viewNames[self.index])) self.subViewName = self._viewNames[self.index] end local SelectedColor = Color.New(1, 1, 1, 1) local UnSelectedColor = Color.New(174/255, 176/255, 182/255, 1) function UICharacter:OnValueChanged(comp, index) if comp == self.group_Toggles then self:OpenSubView(index+1) if self.parentToggleFunc then self.parentToggleFunc(index + 1) end end end function UICharacter:OpenSubView(index) self.panelRoot:CloseAll() self.curPanel = self.panelRoot:OpenView(GetViewClass(self._viewNames[index])) self.index = index self.subViewName = self._viewNames[index] end function UICharacter:SetInfoBtnState(state) UIUtils.SetActive(self.btn_Info.gameObject, state) end function UICharacter:StopHeroLightEffect(isDispose) UIHeroLightEffectTool.StopHeroLightEffect(self.heroLightEffectDatas) if isDispose then self.heroLightEffectDatas = nil end end function UICharacter:BeginHeroLightEffect(heroLightEffects) if heroLightEffects then for _, lightEffectID in ipairs(heroLightEffects) do UIHeroLightEffectTool.PlayHeroLightEffect(self.heroLightEffectDatas, self, 0, UIHeroLightEffectTool.PlayLightEffectFuncEnum.LuaView, lightEffectID, nil) end end end function UICharacter:AuxUtilPlayPsEffect(effectPath) return UTL.UIRender.PlayPsEffect(self.modelComponentDataHandle, effectPath) end return UICharacter