local UIClimbTowerSummary = UIViewClass() local WINIMAGEPATH = "UI_PVP/1v1_msz_sl.png" local FAILEDIMAGEPATH = "UI_PVP/1v1_msz_sb.png" local WINBACKGROUND=ConstAssetPathConfig.AssetPath113 local FAILEDBACKGROUND=ConstAssetPathConfig.Path17 local DayRefreshTimeId = 1 --每日刷新时间类型ID function UIClimbTowerSummary:OnOpened(context) UIManager.ActiveUIModle(false, "UIClimbTowerSummary") self.isWin = context.Win or MDL.ClimbTower.IsHasRewards() self:RefreshNewUI() end function UIClimbTowerSummary:OnCellInit(scrollRect, index, cellTable, data) if scrollRect == self.loop_SummaryReward then -- 通关奖励 UTL.Item.SetItemCell(cellTable.UIItem, data.ItemId, data.ItemCount) end end function UIClimbTowerSummary:OnCellClicked(scrollRect, index, cellTable, target, data) if scrollRect == self.loop_SummaryReward then -- 通关奖励 UTL.ItemTips.ShowCommonTipsById(data.ItemId) end end function UIClimbTowerSummary:OnButtonClicked(comp) if comp == self.btn_Next then --继续挑战 --判断是否达到每日可挑战最高关卡 if CTL.ClimbTower.IsReachMaxChallengeLevelCountOfEveryDay() then --获取距离刷新时间的秒数 local seconds= UTL.Time.GetServerIntervalTimeToRefresh(DayRefreshTimeId) --返回时分秒 local text= UTL.Time.FormatTimeClockBySeconds(seconds) text= string.format(UIUtils.GetLocalizedTxt(Const_IDS.IDS_NewClimbTower_LevelMaxTip),text) CTL.Tips.AddTipsMsg(text) else self:EnterNextLevel() end elseif comp == self.btn_BackTown then --返回主城 --退出副本 CTL.ClimbTower.LeaveFuben() end end function UIClimbTowerSummary:EnterNextLevel() local canChallenge, nextConfig, unlockText = CTL.ClimbTower.CanChallengeNextLevel() if canChallenge then self:CloseView() if not self.isWin then CTL.Sound.PlayGameSound("SFX_life") end if nextConfig then MDL.LevelSelect.EnterFuben(LuaConst.LevelType.ClimbTower, nextConfig.ID, nil, CTL.ClimbTower.GetClimbTowerLevelId(nextConfig.ID)) else CTL.ClimbTower.LeaveFuben() end else CTL.Tips.AddTipsMsg(unlockText) end end function UIClimbTowerSummary:RefreshNewUI() --通过的关卡展示 local firstLevelId = MDL. ClimbTower.GetFirstEnterLevelId() local levelId = MDL.ClimbTower.GetPassFarthestId() if levelId < firstLevelId then levelId= firstLevelId end local firstLevelConfig = DataSheetManager.ClimbTowerLevel:GetDataByID(firstLevelId) local levelConfig = DataSheetManager.ClimbTowerLevel:GetDataByID(levelId) UIUtils.SetLabelText(self.txt_Level,Const_IDS[firstLevelConfig.LevelName]) UIUtils.SetLabelText(self.txt_NewLevel,Const_IDS[levelConfig.LevelName]) if self.isWin then --胜利 CTL.Sound.PlayGameSound("MUSIC_Victory") self.obj_state:SetState(1) UIUtils.SetActive(self.group_Efficiency, true) --强化石、铜币 展示 local oldStone = firstLevelConfig.HangUpRewardStone local newStone = levelConfig.HangUpRewardStone local oldMoney = firstLevelConfig.HangUpRewardSliverCoin local newMoney = levelConfig.HangUpRewardSliverCoin --强化石提升 UIUtils.SetLabel(self.txt_XP, string.FormatByIdsId(Const_IDS.IDS_NewClimbTower_HangupNewRewardNum,oldStone)) UIUtils.SetLabel(self.txt_NewXP, string.FormatByIdsId(Const_IDS.IDS_NewClimbTower_HangupNewRewardNum,newStone)) --铜币提升 UIUtils.SetLabel(self.txt_Money, string.FormatByIdsId(Const_IDS.IDS_NewClimbTower_HangupNewRewardNum,oldMoney)) UIUtils.SetLabel(self.txt_NewMoney, string.FormatByIdsId(Const_IDS.IDS_NewClimbTower_HangupNewRewardNum,newMoney)) --奖励展示 local totalReward = MDL.ClimbTower.GetTotalRewards() for k, v in pairs(totalReward) do self.loop_SummaryReward:AddData(v, 0) end else --失败 CTL.Sound.PlayGameSound("SFX_die") self.obj_state:SetState(0) end end function UIClimbTowerSummary:OnClosed() UIManager.ActiveUIModle(true, "UIClimbTowerSummary") end return UIClimbTowerSummary