local UISyncSoloMatchSuccessPanel = UIViewClass() local ConstMatchSuccessCountDown = DataSheetManager.ConstData:GetDataByID("SyncSoloEnterTime").IntValue local CrashEffectPlayTime = 0.2 function UISyncSoloMatchSuccessPanel:OnOpened(context) self:RefreshBothHeroInfo(context) self:RefreshBothPlayerInfo(context) self.isPlayEffect = false self.remainCountDown = ConstMatchSuccessCountDown self.lab_Time.text = self.remainCountDown self.remainCountDown = self.remainCountDown - 1 self:StartRepeatFunc(self.UpdateCrashEvent, CrashEffectPlayTime, -1) CTL.Sound.PlayGameSound("UI_buildarmy") end function UISyncSoloMatchSuccessPanel:RefreshBothHeroInfo(info) local myDecorateResource = DataSheetManager.DecorateAdditionalRes:GetDataByID(info.friendlyFighters[1].decorate).Resource1 self:RefreshSingleHeroInfo(self.group_MyHero, info.friendlyFighters[1], myDecorateResource) local enemyDecorateResource = DataSheetManager.DecorateAdditionalRes:GetDataByID(info.enemyFighters[1].decorate).Resource2 self:RefreshSingleHeroInfo(self.group_OtherHero, info.enemyFighters[1], enemyDecorateResource) end function UISyncSoloMatchSuccessPanel:RefreshSingleHeroInfo(cellGroup, heroInfo, decorateResource) for i, v in ipairs(cellGroup) do UTL.Item.SetHeroIconByHeroId(v.img_MainHero, heroInfo.mainHero[i], heroInfo.mainAwaken[i]) UTL.Item.SetHeroIconByHeroId(v.img_SubHero, heroInfo.viceHero[i], heroInfo.viceAwaken[i]) UIUtils.SetImageByAssetBundle(v.decorate_bg, decorateResource) end end function UISyncSoloMatchSuccessPanel:RefreshBothPlayerInfo(info) self:RefreshSinglePlayerInfo(self.group_MyInfo, info.friendlyFighters[1]) self:RefreshSinglePlayerInfo(self.group_OtherInfo, info.enemyFighters[1]) end function UISyncSoloMatchSuccessPanel:RefreshSinglePlayerInfo(cellGroup, info) if self.context.IsCustomRoom and CTL.Character.IsRobot(info.acid) then CTL.Character.SetRobotHead(cellGroup.UIHeroHead190) cellGroup.lab_Name.text = CTL.Character.GetRobotName(info.acid) UIUtils.SetActive(cellGroup.lab_Server, false) else CTL.Character.SetPortraitAndFrame(cellGroup.UIHeroHead190, info.portraitId, info.frameId) cellGroup.lab_Name.text = info.name UIUtils.SetActive(cellGroup.lab_Server, CTL.CrossServer.IsShowServerTextInFairPlay()) cellGroup.lab_Server.text = string.FormatByIdsId(Const_IDS.IDS_1v1Sync_LoadingInfo_Service, info.serId) end end function UISyncSoloMatchSuccessPanel:UpdateCrashEvent(deltaTime, timeSineUpdate) if not self.isPlayEffect then self.effect_Crash:PlayUIEffect() self.isPlayEffect = true end if timeSineUpdate > 1 then if self.remainCountDown <= 0 then self:StopRepeatFunc(self.UpdateCrashEvent) return end self.lab_Time.text = self.remainCountDown CTL.Sound.PlayCountDown(self.remainCountDown) self.remainCountDown = self.remainCountDown - 1 self:ResetRepeatFunc(self.UpdateCrashEvent) end end return UISyncSoloMatchSuccessPanel