local UISyncSoloFormation = require("View/FairPlay/SyncSolo/UISyncSoloFormation") local UIPKSoloFormationPanel = UIViewClass(UISyncSoloFormation) --@OVERRIDE function UIPKSoloFormationPanel:InitEvent() self:RegistSystemEvent(EventID.FunctionUnlockUpdate, self.OnCloseGamePlay) self:RegistSystemEvent(EventID.UI_CloseAndRecoverView, self.OnCloseAndRecoverView) self:RegistSystemEvent(EventID.UI_FairPlay_SyncSoloSeasonInfoUpdate, self.OnSeasonUpdateClose) self:RegistDragEvent() end --@OVERRIDE function UIPKSoloFormationPanel:InitAllHeroList() self.heroList = {} -- 限免武将 local freeHeroList = MDL.SyncSolo.GetSyncSoloSeasonInfo().freeHeroes for i, v in ipairs(freeHeroList) do --将武将的道具ID转换成武将ID local itemData = DataSheetManager.ItemData:GetDataByID(v) local isTestHeroAndOpen, isTestHero, isOpen = MDL.SyncSolo.CheckIsTestHero(v) if not isTestHeroAndOpen then table.insert(self.heroList, {heroId = itemData.BelongToHero, isFree = true}) end end -- 排序后的已解锁武将 local heroList = MDL.Replay.GetSortedAvailableSelectHeroList(MDL.Replay.FairPlayType.Solo, true) for i, v in ipairs(heroList) do if not self:ContainHeroId(self.heroList, v.heroId) then local isTestHeroAndOpen, isTestHero, isOpen = MDL.SyncSolo.CheckIsTestHero(v, true) if not isTestHeroAndOpen then table.insert(self.heroList, {heroId = v.heroId, isFree = false}) end end end CTL.HeroAwaken.TryFillAwakenHeroData(self.heroList, false) end --@OVERRIDE function UIPKSoloFormationPanel:InitFormationHeroList() self.formationHeroIdList = MDL.CustomRoom.LoadSoloPKFormation() for index, heroId in ipairs(self.formationHeroIdList) do if heroId > 0 and CTL.FairPlayCard.IsUsedExperienceCard(heroId) then self.hasExperienceHeroLineup = true end end end function UIPKSoloFormationPanel:OnSeasonUpdateClose() self:CloseView(true) end --@OVERRIDE function UIPKSoloFormationPanel:OnClickSaveOrQuit() MDL.CustomRoom.SaveSoloPKFormation(self.formationHeroIdList) local success = MDL.CustomRoom.ChangeLineupReq(LuaConst.ActivityType.SyncSoloPK) if success then CTL.Sound.PlayGameSound("UI_click_01") self:CloseView(true) end end --@OVERRIDE function UIPKSoloFormationPanel:ShowHeroFixedInfo() -- 重写防止报错 end --@OVERRIDE function UIPKSoloFormationPanel:CloseSaveLineup() end return UIPKSoloFormationPanel