local UISoloFightBattleOver = UIViewClass() local WINIMAGEPATH = "UI_PVP/1v1_msz_sl.png" local FAILEDIMAGEPATH = "UI_PVP/1v1_msz_sb.png" local WINCOINPATH = "1v1_msz_s.png" local FAILDEDCOINPATH = "1v1_msz_b.png" local TIME_VALUE = 3 function UISoloFightBattleOver:OnOpened(context) if context.isWin then CTL.Sound.PlayGameSound("MUSIC_Victory") if self.loc_Title.CurState==0 then self.loc_Title:SetImage(0,WINIMAGEPATH,true) else self.loc_Title:SetText(0, UIUtils.GetLocalizedTxt(Const_IDS["IDS_GuildWar_Win"])) self.loc_Color:SetState(0) end self.state_Result:SetState(0) else CTL.Sound.PlayGameSound("MUSIC_Fail") if self.loc_Title.CurState==0 then self.loc_Title:SetImage(0,FAILEDIMAGEPATH,true) else self.loc_Title:SetText(0, UIUtils.GetLocalizedTxt(Const_IDS["IDS_GuildWar_Lose"])) self.loc_Color:SetState(1) end self.state_Result:SetState(1) end for i,v in ipairs(context.battleInfo) do if v.isWin ~= nil then self.scroll_Team:AddData(v,0) end end self.txt_Score.text = context.score self.isWin = context.isWin or false self.curTime = 5 self.txt_ExitTime.text = nil self:StartRepeatFunc(self.OnUpdateFun, TIME_VALUE) self.canClose = false self.txt_NameEnemy.text = BattleDataGetter.GetEnemyPlayerName() self.txt_NameOwn.text = BattleDataGetter.GetPlayerName() self.rewards = context.rewards end function UISoloFightBattleOver:OnUpdateFun() if self.canClose == false then self.canClose = true self:StopRepeatFunc(self.OnUpdateFun) self:StartRepeatFunc(self.OnUpdateFun, 1) end self.curTime = self.curTime - 1 self.txt_ExitTime.text = string.FormatByIdsId(Const_IDS.IDS_OfflineSoloFight_UIshowAfterBattles,self.curTime) if self.curTime <=0 then self:CloseView() end end function UISoloFightBattleOver:OnClosed() MDL.Level.SendRoleLeaveFuben() end function UISoloFightBattleOver:OnButtonClicked(comp) if comp == self.img_Bottom and self.canClose then self:StopRepeatFunc(self.OnUpdateFun) self:CloseView() end end function UISoloFightBattleOver:OnCellSelect(scrollRect, index, cellTable, data) end function UISoloFightBattleOver:OnCellInit(scrollRect, index, cellTable, data) UTL.Item.SetHeroIconByHeroId(cellTable.img_OwnHead01, data.own[1], data.own[4]) UTL.Item.SetHeroIconByHeroId(cellTable.img_OwnHead02, data.own[2], data.own[5]) UTL.Item.SetHeroIconByHeroId(cellTable.img_EnemyHead1, data.enemy[1], data.enemy[4]) UTL.Item.SetHeroIconByHeroId(cellTable.img_EnemyHead02, data.enemy[2], data.enemy[5]) UTL.Color.SetHeroSquareBgColor(cellTable.bg_OwnHead01, data.own[1], data.own[4]) UTL.Color.SetHeroSquareBgColor(cellTable.bg_OwnHead02, data.own[2], data.own[5]) UTL.Color.SetHeroSquareBgColor(cellTable.bg_EnemyHead01, data.enemy[1], data.enemy[4]) UTL.Color.SetHeroSquareBgColor(cellTable.bg_EnemyHead02, data.enemy[2], data.enemy[5]) if data.isWin then if cellTable.loc_icon.CurState==0 then cellTable.loc_icon:SetImage(0,WINCOINPATH,true) else cellTable.loc_icon:SetText(0,UIUtils.GetLocalizedTxt(Const_IDS["IDS_GuildWar_Win"])) cellTable.loc_Color:SetState(0) end else if cellTable.loc_icon.CurState==0 then cellTable.loc_icon:SetImage(0,FAILDEDCOINPATH,true) else cellTable.loc_icon:SetText(0,UIUtils.GetLocalizedTxt(Const_IDS["IDS_GuildWar_Lose"])) cellTable.loc_Color:SetState(1) end end cellTable.txt_CEOwn.text = data.own[3] cellTable.txt_CEEnemy.text = data.enemy[3] cellTable.txt_Round.text = string.FormatByIdsId(Const_IDS.IDS_OfflineSoloFight_UIshowBattleTitle,index + 1) end return UISoloFightBattleOver