local UISpecialTeamBasePanel = UIViewClass() function UISpecialTeamBasePanel:OnOpened(context) self:RegistSystemEvent(EventID.UI_SpecialTeam_TeamInfoChange, self.RefreshToggles) self:RegistSystemEvent(EventID.UI_SpecialTeam_LeaveTeam, self.OnLeaveTeam) self:RegistSystemEvent(EventID.UI_SpecialTeam_CreateTeam, self.OnCreateTeam) self:RegistSystemEvent(EventID.UI_SpecialTeam_CloseAll, self.OnBackButtonPressed) self:RegistSystemEvent(EventID.UI_SpecialTeam_ApplyInfoHandle, self.OnRefreshToggleRed) self:RegistSystemEvent(EventID.UI_SpecialTeam_TeamMemberFull, self.OnRefreshToggleRed) UIUtils.SetLabelText(self.UITemplateTitlePanel.lab_Title, Const_IDS["IDS_HeroMatch3v3_Team"]) UIUtils.SetActive(self.UITemplateTitlePanel.btn_Info, false) self:InitToggles() self.context = context or {} self:SelectToggleIndex(self.context.selectIndex) self:OnRefreshToggleRed() end function UISpecialTeamBasePanel:InitToggles() self.spcialTeamListToggleIndex = 0 self.mySpecialTeamToggleIndex = 1 UTL.Toggle.InitToggleGroupByIDS(self.toggle_LeftTab, "txt", {Const_IDS.IDS_HeroMatch3v3_TeamList, Const_IDS.IDS_HeroMatch3v3_MyTeam}) end function UISpecialTeamBasePanel:OnRefreshToggleRed() if MDL.SpecialTeam.IsHasMemberApply() or CTL.SpecialTeam.IsHasSpecialTeamFullRedKey() then self.toggle_LeftTab:SetRedPoint(self.mySpecialTeamToggleIndex, true) else self.toggle_LeftTab:SetRedPoint(self.mySpecialTeamToggleIndex, false) end end function UISpecialTeamBasePanel:SelectToggleIndex(index) local max = self:RefreshToggles() if index and max >= index then self.toggle_LeftTab:SelectIndex(index) else self.toggle_LeftTab:SelectIndex(max) end end function UISpecialTeamBasePanel:OnCreateTeam() self:RefreshToggles() self.toggle_LeftTab:SelectIndex(self.mySpecialTeamToggleIndex) end function UISpecialTeamBasePanel:OnLeaveTeam() self:StartRepeatFunc(self.TryUpdateSelectTab, 1, 1) end function UISpecialTeamBasePanel:TryUpdateSelectTab() local max = self:RefreshToggles() --当前页签大于最大页签,需要切回最小页签 if self.index > max then self.toggle_LeftTab:SelectIndex(max) end end function UISpecialTeamBasePanel:RefreshToggles() local hasTeam = MDL.SpecialTeam.HasTeam() self.toggle_LeftTab:SetToggleActive(self.mySpecialTeamToggleIndex + 1, hasTeam) return hasTeam and self.mySpecialTeamToggleIndex or self.spcialTeamListToggleIndex end function UISpecialTeamBasePanel:OnBackButtonPressed() self:OnButtonClicked(self.UITemplateTitlePanel.btn_close) end function UISpecialTeamBasePanel:OnButtonClicked(comp) if self.UITemplateTitlePanel.btn_close == comp then self:CloseView(true) elseif self.UITemplateTitlePanel.btn_Home == comp then CTL.HomeMain.CloseViewBackHomeMain() end end function UISpecialTeamBasePanel:OnValueChanged(comp, index) if comp == self.toggle_LeftTab then if self.subView then self.subView:CloseView() end self.index = index if index == self.spcialTeamListToggleIndex then self.subView = self.teamView:OpenView(GetViewClass(Const_UI_Lua.UIEnum.UISpecialTeamPlatform), nil, CTL.SpecialTeam.GetTeamPlatformViewPath()) elseif index == self.mySpecialTeamToggleIndex then self.subView = self.teamView:OpenView(GetViewClass(Const_UI_Lua.UIEnum.UISpecialTeamMyTeam), nil, CTL.SpecialTeam.GetMyTeamViewPath()) end end end function UISpecialTeamBasePanel:OnClosed() if self.index then self.context.selectIndex = self.index end UIUtils.SetActive(self.UITemplateTitlePanel.btn_Info, true) end return UISpecialTeamBasePanel