【战斗回放】代码整理

dev_chengFeng
zhangqiang 2021-01-07 11:32:26 +08:00
parent 41ffad0c78
commit e12211eee4
3 changed files with 292 additions and 440 deletions

View File

@ -444,7 +444,6 @@ function this.ShowBattleResult(result, msg)
else
this.resultSoundAudio = SoundManager.PlaySound(SoundConfig.Sound_BattleWin)
end
-- 公会boss结算界面
if fightType == BATTLE_TYPE.GUILD_BOSS then
UIManager.OpenPanel(UIName.GuildBossFightResultPopup, msg.enventDrop, msg.missionDrop, msg.essenceValue, function()
@ -452,161 +451,24 @@ function this.ShowBattleResult(result, msg)
end)
-- 车迟斗法结算界面特殊显示
elseif fightType == BATTLE_TYPE.GUILD_CAR_DELAY and GuildCarDelayManager.progress == 1 then
-- 延时执行避免事件冲突
Timer.New(function()
local bestData, allDamage= BattleRecordManager.GetBattleBestData()
if bestData then
-- 胜利显示本场比赛的表现最好的英雄
UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId,bestData.skinId, bestData.damage, allDamage, function(_BattleBestPopup)
-- 打开关卡奖励界面
UIManager.OpenPanel(UIName.RewardItemPopup,nil, 1,function(isBackBattle)
LogPink("isBackBattle "..tostring(isBackBattle))
if not isBackBattle then
--车迟挑战cd计时
GuildCarDelayManager.SetCdTime(GuildCarDelayProType.Challenge)
if _BattleBestPopup then
_BattleBestPopup:ClosePanel()
end
this:ClosePanel()
end
end, 3,true,true)
end)
end
end, 0.1):Start()
this.ShowBattleResultByCarDeleayType()
-- 十绝阵结算界面特殊显示
elseif fightType == BATTLE_TYPE.DEATH_POS then
-- 延时执行避免事件冲突
Timer.New(function()
local bestData, allDamage= BattleRecordManager.GetBattleBestData()
if bestData then
-- 胜利显示本场比赛的表现最好的英雄
UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId,bestData.skinId, bestData.damage, allDamage, function(_BattleBestPopup)
-- 打开关卡奖励界面
UIManager.OpenPanel(UIName.RewardItemPopup, DeathPosManager.drop, 1,function(isBackBattle)
LogPink("isBackBattle "..tostring(isBackBattle))
if not isBackBattle then
if _BattleBestPopup then
_BattleBestPopup:ClosePanel()
end
this:ClosePanel()
end
end, 4,true,true)
end)
end
end, 0.1):Start()
this.ShowBattleResultByDeathPos()
--公会副本
elseif fightType == BATTLE_TYPE.GuildTranscript then
-- 延时执行避免事件冲突
Timer.New(function()
local bestData, allDamage= BattleRecordManager.GetBattleBestData()
if bestData then
-- 胜利显示本场比赛的表现最好的英雄
UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId,bestData.skinId, bestData.damage, allDamage, function(_BattleBestPopup)
-- 打开关卡奖励界面
UIManager.OpenPanel(UIName.RewardItemPopup,GuildTranscriptManager.drop, 1,function(isBackBattle)
LogPink("isBackBattle "..tostring(isBackBattle))
if not isBackBattle then
if _BattleBestPopup then
_BattleBestPopup:ClosePanel()
end
this:ClosePanel()
Game.GlobalEvent:DispatchEvent(GameEvent.Guild.RefreshGuildTranscripQuickBtn)
Game.GlobalEvent:DispatchEvent(GameEvent.Guild.RefreshGuildTranscript)
GuildTranscriptManager.IsKillShowTip()
end
end, 6,true,true)
end)
end
end, 0.1):Start()
this.ShowBattleResultByGuildTranscript()
--无尽副本
elseif fightType == BATTLE_TYPE.MAP_FIGHT and CarbonManager.difficulty == CARBON_TYPE.ENDLESS then
Timer.New(function()
local bestData, allDamage= BattleRecordManager.GetBattleBestData()
FightPointPassManager.oldLevel = PlayerManager.level
if bestData then
UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId,bestData.skinId, bestData.damage, allDamage, function(_BattleBestPopup)
-- 打开关卡奖励界面
UIManager.OpenPanel(UIName.RewardItemPopup, this.lastBattleResult.drop, 1,function()
if _BattleBestPopup then
_BattleBestPopup:ClosePanel()
end
-- if m_battlePanel then
-- m_battlePanel:ClosePanel()
-- end
this:ClosePanel()
Game.GlobalEvent:DispatchEvent(GameEvent.Bag.BagGold)
end, nil, true, true)
end)
end
end, 0.1):Start()
--新回放功能
this.ShowBattleResultByMapFight()
--新回放功能(判断上次战斗是什么类型并做什么内容 逻辑和正常战斗处理一样)
elseif fightType == BATTLE_TYPE.BACK_BATTLE then
if BattleManager.GetLastBattleType() == BATTLE_TYPE.GuildTranscript then
-- 延时执行避免事件冲突
Timer.New(function()
local bestData, allDamage= BattleRecordManager.GetBattleBestData()
if bestData then
-- 胜利显示本场比赛的表现最好的英雄
UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId,bestData.skinId, bestData.damage, allDamage, function(_BattleBestPopup)
-- 打开关卡奖励界面
UIManager.OpenPanel(UIName.RewardItemPopup,GuildTranscriptManager.drop, 1,function(isBackBattle)
LogPink("isBackBattle "..tostring(isBackBattle))
if not isBackBattle then
if _BattleBestPopup then
_BattleBestPopup:ClosePanel()
end
this:ClosePanel()
Game.GlobalEvent:DispatchEvent(GameEvent.Guild.RefreshGuildTranscripQuickBtn)
Game.GlobalEvent:DispatchEvent(GameEvent.Guild.RefreshGuildTranscript)
GuildTranscriptManager.IsKillShowTip()
end
end, 6,true,true)
end)
end
end, 0.1):Start()
elseif BattleManager.GetLastBattleType() == BATTLE_TYPE.GUILD_CAR_DELAY and GuildCarDelayManager.progress == 1 then
-- 延时执行避免事件冲突
Timer.New(function()
local bestData, allDamage= BattleRecordManager.GetBattleBestData()
if bestData then
-- 胜利显示本场比赛的表现最好的英雄
UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId,bestData.skinId, bestData.damage, allDamage, function(_BattleBestPopup)
-- 打开关卡奖励界面
UIManager.OpenPanel(UIName.RewardItemPopup,nil, 1,function(isBackBattle)
LogPink("isBackBattle "..tostring(isBackBattle))
if not isBackBattle then
--车迟挑战cd计时
GuildCarDelayManager.SetCdTime(GuildCarDelayProType.Challenge)
if _BattleBestPopup then
_BattleBestPopup:ClosePanel()
end
this:ClosePanel()
end
end, 3,true,true)
end)
end
end, 0.1):Start()
-- 十绝阵结算界面特殊显示
elseif BattleManager.GetLastBattleType() == BATTLE_TYPE.DEATH_POS then
-- 延时执行避免事件冲突
Timer.New(function()
local bestData, allDamage= BattleRecordManager.GetBattleBestData()
if bestData then
-- 胜利显示本场比赛的表现最好的英雄
UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId,bestData.skinId, bestData.damage, allDamage, function(_BattleBestPopup)
-- 打开关卡奖励界面
UIManager.OpenPanel(UIName.RewardItemPopup, DeathPosManager.drop, 1,function(isBackBattle)
LogPink("isBackBattle "..tostring(isBackBattle))
if not isBackBattle then
if _BattleBestPopup then
_BattleBestPopup:ClosePanel()
end
this:ClosePanel()
end
end, 4,true,true)
end)
end
end, 0.1):Start()
if BattleManager.GetLastBattleType() == BATTLE_TYPE.GuildTranscript then-- 公会副本结算界面特殊显示
this.ShowBattleResultByGuildTranscript()
elseif BattleManager.GetLastBattleType() == BATTLE_TYPE.GUILD_CAR_DELAY and GuildCarDelayManager.progress == 1 then-- 车迟结算界面特殊显示
this.ShowBattleResultByCarDeleayType()
elseif BattleManager.GetLastBattleType() == BATTLE_TYPE.DEATH_POS then-- 十绝阵结算界面特殊显示
this.ShowBattleResultByDeathPos()
else
if result == 0 then -- 失败
local haveRecord = BattleRecordManager.isHaveRecord()
@ -624,7 +486,99 @@ function this.ShowBattleResult(result, msg)
end
end
end
-- 车迟斗法结算界面特殊显示
function this.ShowBattleResultByCarDeleayType()
-- 延时执行避免事件冲突
Timer.New(function()
local bestData, allDamage= BattleRecordManager.GetBattleBestData()
if bestData then
-- 胜利显示本场比赛的表现最好的英雄
UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId,bestData.skinId, bestData.damage, allDamage, function(_BattleBestPopup)
-- 打开关卡奖励界面
UIManager.OpenPanel(UIName.RewardItemPopup,nil, 1,function(isBackBattle)--isBackBattle true时 为回放不走回调
LogPink("isBackBattle "..tostring(isBackBattle))
if not isBackBattle then
--车迟挑战cd计时
GuildCarDelayManager.SetCdTime(GuildCarDelayProType.Challenge)
if _BattleBestPopup then
_BattleBestPopup:ClosePanel()
end
this:ClosePanel()
end
end, 3,true,true)
end)
end
end, 0.1):Start()
end
-- 十绝阵结算界面特殊显示
function this.ShowBattleResultByDeathPos()
-- 延时执行避免事件冲突
Timer.New(function()
local bestData, allDamage= BattleRecordManager.GetBattleBestData()
if bestData then
-- 胜利显示本场比赛的表现最好的英雄
UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId,bestData.skinId, bestData.damage, allDamage, function(_BattleBestPopup)
-- 打开关卡奖励界面
UIManager.OpenPanel(UIName.RewardItemPopup, DeathPosManager.drop, 1,function(isBackBattle)--isBackBattle true时 为回放不走回调
LogPink("isBackBattle "..tostring(isBackBattle))
if not isBackBattle then
if _BattleBestPopup then
_BattleBestPopup:ClosePanel()
end
this:ClosePanel()
end
end, 4,true,true)
end)
end
end, 0.1):Start()
end
--公会副本结算界面特殊显示
function this.ShowBattleResultByGuildTranscript()
-- 延时执行避免事件冲突
Timer.New(function()
local bestData, allDamage= BattleRecordManager.GetBattleBestData()
if bestData then
-- 胜利显示本场比赛的表现最好的英雄
UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId,bestData.skinId, bestData.damage, allDamage, function(_BattleBestPopup)
-- 打开关卡奖励界面
UIManager.OpenPanel(UIName.RewardItemPopup,GuildTranscriptManager.drop, 1,function(isBackBattle)--isBackBattle true时 为回放不走回调
LogPink("isBackBattle "..tostring(isBackBattle))
if not isBackBattle then
if _BattleBestPopup then
_BattleBestPopup:ClosePanel()
end
this:ClosePanel()
Game.GlobalEvent:DispatchEvent(GameEvent.Guild.RefreshGuildTranscripQuickBtn)
Game.GlobalEvent:DispatchEvent(GameEvent.Guild.RefreshGuildTranscript)
GuildTranscriptManager.IsKillShowTip()
end
end, 6,true,true)
end)
end
end, 0.1):Start()
end
--无尽结算界面特殊显示
function this.ShowBattleResultByMapFight()
Timer.New(function()
local bestData, allDamage= BattleRecordManager.GetBattleBestData()
FightPointPassManager.oldLevel = PlayerManager.level
if bestData then
UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId,bestData.skinId, bestData.damage, allDamage, function(_BattleBestPopup)
-- 打开关卡奖励界面
UIManager.OpenPanel(UIName.RewardItemPopup, this.lastBattleResult.drop, 1,function()
if _BattleBestPopup then
_BattleBestPopup:ClosePanel()
end
-- if m_battlePanel then
-- m_battlePanel:ClosePanel()
-- end
this:ClosePanel()
Game.GlobalEvent:DispatchEvent(GameEvent.Bag.BagGold)
end, nil, true, true)
end)
end
end, 0.1):Start()
end
-- 战斗波次变化回调
function this.OnOrderChanged(order)
-- body

View File

@ -107,45 +107,36 @@ function this:LoseJump(id)
end
function this.ClosePanelRefreshData()
if fightType then
if fightType == 8 then--远征
if not isBackBattle then
local GetCurNodeInfo = ExpeditionManager.curAttackNodeInfo
if GetCurNodeInfo.type == ExpeditionNodeType.Greed then--贪婪节点
Game.GlobalEvent:DispatchEvent(GameEvent.Expedition.RefreshMainPanel)--刷新界面
PopupTipPanel.ShowTip( Language[12194])
else
MsgPanel.ShowTwo(Language[11540], function()
end, function()
NetManager.EndConfirmExpeditionBattleRequest(GetCurNodeInfo.sortId, function (msg)
end)
end,Language[10719],Language[12201])
Game.GlobalEvent:DispatchEvent(GameEvent.Expedition.RefreshMainPanel)--刷新界面
end
end
elseif fightType == 10 then--车迟
if fightType == BATTLE_TYPE.EXECUTE_FIGHT then--远征
this.ShowBattleResultByExpedition()
elseif fightType == BATTLE_TYPE.GUILD_CAR_DELAY then--车迟
--车迟抢夺cd计时
GuildCarDelayManager.SetCdTime(GuildCarDelayProType.Loot)
--新回放功能
elseif fightType == BATTLE_TYPE.BACK_BATTLE then
if BattleManager.GetLastBattleType() == BATTLE_TYPE.EXECUTE_FIGHT then
if not isBackBattle then
local GetCurNodeInfo = ExpeditionManager.curAttackNodeInfo
if GetCurNodeInfo.type == ExpeditionNodeType.Greed then--贪婪节点
Game.GlobalEvent:DispatchEvent(GameEvent.Expedition.RefreshMainPanel)--刷新界面
PopupTipPanel.ShowTip( Language[12194])
else
MsgPanel.ShowTwo(Language[11540], function()
end, function()
NetManager.EndConfirmExpeditionBattleRequest(GetCurNodeInfo.sortId, function (msg)
end)
end,Language[10719],Language[12201])
Game.GlobalEvent:DispatchEvent(GameEvent.Expedition.RefreshMainPanel)--刷新界面
end
end
if BattleManager.GetLastBattleType() == BATTLE_TYPE.EXECUTE_FIGHT then-- 猎妖之路
this.ShowBattleResultByExpedition()
end
end
end
end
-- 猎妖之路结算界面特殊显示
function this.ShowBattleResultByExpedition()
if not isBackBattle then
local GetCurNodeInfo = ExpeditionManager.curAttackNodeInfo
if GetCurNodeInfo.type == ExpeditionNodeType.Greed then--贪婪节点
Game.GlobalEvent:DispatchEvent(GameEvent.Expedition.RefreshMainPanel)--刷新界面
PopupTipPanel.ShowTip( Language[12194])
else
MsgPanel.ShowTwo(Language[11540], function()
end, function()
NetManager.EndConfirmExpeditionBattleRequest(GetCurNodeInfo.sortId, function (msg)
end)
end,Language[10719],Language[12201])
Game.GlobalEvent:DispatchEvent(GameEvent.Expedition.RefreshMainPanel)--刷新界面
end
end
end
--界面关闭时调用(用于子类重写)
function BattleFailPopup:OnClose()
Game.GlobalEvent:DispatchEvent(GameEvent.Map.MaskState,0)

View File

@ -45,7 +45,7 @@ function BattleWinPopup:NextStep()
return
end
if m_fightType == 2 then --副本战斗结算
if m_fightType == BATTLE_TYPE.MAP_FIGHT then --副本战斗结算
-- local bestData, allDamage= BattleRecordManager.GetBattleBestData()
-- FightPointPassManager.oldLevel = PlayerManager.level
@ -66,272 +66,179 @@ function BattleWinPopup:NextStep()
-- end
-- end)
elseif m_fightType == 3 then --限时怪战斗结算
elseif m_fightType == BATTLE_TYPE.ELITE_MONSTER then --限时怪战斗结算
UIManager.OpenPanel(UIName.RewardItemPopup, m_battleResult.drop, 1,function() m_battlePanel:ClosePanel() self:ClosePanel() end, 1, true)
elseif m_fightType == 5 then -- 兽潮来袭
if m_battlePanel then
m_battlePanel:ClosePanel()
end
self:ClosePanel()
if m_backPanel then
UIManager.OpenPanel(m_backPanel)
end
UIManager.OpenPanel(UIName.RewardItemPopup, m_battleResult.drop, 1,function()
if m_callBack then m_callBack() end
--内容优化 心魔试炼推送
Game.GlobalEvent:DispatchEvent(GameEvent.PatFace.PatFaceSend,FacePanelType.MonsterWave)
end, nil, not m_notShowRecord)
elseif m_fightType == 6 then -- 新关卡的战斗
FightPointPassManager.FightBattleEnd()
FightPointPassManager.OnBattleEnd(m_battleResult)
local bestData, allDamage= BattleRecordManager.GetBattleBestData()
if bestData then
-- 胜利显示本场比赛的表现最好的英雄
UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId,bestData.skinId, bestData.damage, allDamage, function(_BattleBestPopup)
-- 打开关卡奖励界面
UIManager.OpenPanel(UIName.RewardItemPopup, m_battleResult.drop, 1,function(isBackBattle)
LogPink("isBackBattle "..tostring(isBackBattle))
if not isBackBattle then
if _BattleBestPopup then
_BattleBestPopup:ClosePanel()
end
if m_battlePanel then
m_battlePanel:ClosePanel()
end
self:ClosePanel()
-- 再刷新一便关卡信息
NetManager.InitFightPointLevelInfo()
end
end, 1, true, true)
end)
else
-- 打开关卡奖励界面
UIManager.OpenPanel(UIName.RewardItemPopup, m_battleResult.drop, 1,function()
if m_battlePanel then
m_battlePanel:ClosePanel()
end
self:ClosePanel()
end, 1, true)
end
elseif m_fightType == 8 then -- 远征
self:ClosePanel()
local bestData, allDamage= BattleRecordManager.GetBattleBestData()
if bestData then
-- 胜利显示本场比赛的表现最好的英雄
local GetCurNodeInfo = ExpeditionManager.curAttackNodeInfo--ExpeditionManager.GetCurNodeInfo()
local func2 = nil
if GetCurNodeInfo.type == ExpeditionNodeType.Trail then--试炼节点
LogBlue("sssssssssssssssssss")
func2 = function()
Game.GlobalEvent:DispatchEvent(GameEvent.Expedition.RefreshPlayAniMainPanel)
end
end
UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId,bestData.skinId, bestData.damage, allDamage, function(_BattleBestPopup)
--贪婪节点不弹领取圣物
if GetCurNodeInfo.type == ExpeditionNodeType.Greed then--贪婪节点
if m_battleResult.drop.itemlist and #m_battleResult.drop.itemlist > 0 then
LogGreen("m_battleResult.drop.itemlist "..#m_battleResult.drop.itemlist)
else
LogGreen(Language[12202])
end
UIManager.OpenPanel(UIName.RewardItemPopup,m_battleResult.drop, 1,function()
if m_battlePanel then
m_battlePanel:ClosePanel()
end
if _BattleBestPopup then
_BattleBestPopup:ClosePanel()
end
Game.GlobalEvent:DispatchEvent(GameEvent.Expedition.RefreshPlayAniMainPanel)
end, 0,true,true)
elseif GetCurNodeInfo.type == ExpeditionNodeType.Trail then--试炼节点
if m_battleResult.drop and m_battleResult.drop.soulEquip and #m_battleResult.drop.soulEquip > 0 then
for i = 1, #m_battleResult.drop.soulEquip do
ExpeditionManager.InitSingleTreasureData(m_battleResult.drop.soulEquip[i])
end
end
if m_battleResult.drop and m_battleResult.drop.Hero and m_battleResult.drop.Hero[1] then
ExpeditionManager.UpdateHeroDatas(m_battleResult.drop.Hero[1])
else
LogError(Language[11541])
end
if m_battlePanel then
m_battlePanel:ClosePanel()
end
PopupTipPanel.ShowTip(Language[12192])
else
UIManager.OpenPanel(UIName.RewardItemPopup,m_battleResult.drop, 1,function()
if m_battlePanel then
m_battlePanel:ClosePanel()
end
if _BattleBestPopup then
_BattleBestPopup:ClosePanel()
end
if GetCurNodeInfo.holyEquipID and #GetCurNodeInfo.holyEquipID > 0 then
UIManager.OpenPanel(UIName.ExpeditionSelectHalidomPanel,true,function ()
end)
else
--此时战斗了但没有圣物 所有直接刷新界面动画 后并刷新界面
Game.GlobalEvent:DispatchEvent(GameEvent.Expedition.RefreshPlayAniMainPanel)
end
end, 0,true,true)
end
end,func2)
end
elseif m_fightType==9 then
m_battlePanel:ClosePanel() self:ClosePanel()
elseif m_fightType == 10 then -- 车迟
local bestData, allDamage= BattleRecordManager.GetBattleBestData()
if bestData then
-- 胜利显示本场比赛的表现最好的英雄
UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId,bestData.skinId, bestData.damage, allDamage, function(_BattleBestPopup)
-- 打开关卡奖励界面
UIManager.OpenPanel(UIName.RewardItemPopup,nil, 1,function(isBackBattle)
LogPink("isBackBattle "..tostring(isBackBattle))
if not isBackBattle then
--车迟抢夺cd计时
GuildCarDelayManager.SetCdTime(GuildCarDelayProType.Loot)
if _BattleBestPopup then
_BattleBestPopup:ClosePanel()
end
if m_battlePanel then
m_battlePanel:ClosePanel()
end
self:ClosePanel()
end
end, 3,true,true)
end)
end
elseif m_fightType == BATTLE_TYPE.MONSTER_CAMP then -- 兽潮来袭
this.ShowBattleResultByMonsterCamp(m_battleResult.drop)
elseif m_fightType == BATTLE_TYPE.STORY_FIGHT then -- 新关卡的战斗
this.ShowBattleResultByStoryFight(m_battleResult.drop)
elseif m_fightType == BATTLE_TYPE.EXECUTE_FIGHT then -- 猎妖之路
this.ShowBattleResultByExpedition(m_battleResult.drop)
elseif m_fightType == BATTLE_TYPE.DAILY_CHALLENGE then -- 日常副本
m_battlePanel:ClosePanel() self:ClosePanel(m_battleResult.drop)
elseif m_fightType == BATTLE_TYPE.GUILD_CAR_DELAY then -- 车迟
this.ShowBattleResultByCarDeleayType(m_battleResult.drop)
--新回放功能
elseif m_fightType == BATTLE_TYPE.BACK_BATTLE then
if BattleManager.GetLastBattleType() == BATTLE_TYPE.STORY_FIGHT then
FightPointPassManager.FightBattleEnd()
FightPointPassManager.OnBattleEnd(m_battleResult)
local bestData, allDamage= BattleRecordManager.GetBattleBestData()
if bestData then
-- 胜利显示本场比赛的表现最好的英雄
UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId,bestData.skinId, bestData.damage, allDamage, function(_BattleBestPopup)
-- 打开关卡奖励界面
UIManager.OpenPanel(UIName.RewardItemPopup, BattleManager.GetLastBattleResult().drop, 1,function(isBackBattle)
LogPink("isBackBattle "..tostring(isBackBattle))
if not isBackBattle then
if _BattleBestPopup then
_BattleBestPopup:ClosePanel()
end
if m_battlePanel then
m_battlePanel:ClosePanel()
end
self:ClosePanel()
-- 再刷新一便关卡信息
NetManager.InitFightPointLevelInfo()
end
end, 1, true, true)
end)
else
-- 打开关卡奖励界面
UIManager.OpenPanel(UIName.RewardItemPopup, m_battleResult.drop, 1,function()
if m_battlePanel then
m_battlePanel:ClosePanel()
end
self:ClosePanel()
end, 1, true)
end
elseif BattleManager.GetLastBattleType() == BATTLE_TYPE.EXECUTE_FIGHT then
self:ClosePanel()
local bestData, allDamage= BattleRecordManager.GetBattleBestData()
if bestData then
-- 胜利显示本场比赛的表现最好的英雄
local GetCurNodeInfo = ExpeditionManager.curAttackNodeInfo--ExpeditionManager.GetCurNodeInfo()
local func2 = nil
if GetCurNodeInfo.type == ExpeditionNodeType.Trail then--试炼节点
func2 = function()
Game.GlobalEvent:DispatchEvent(GameEvent.Expedition.RefreshPlayAniMainPanel)
end
end
UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId,bestData.skinId, bestData.damage, allDamage, function(_BattleBestPopup)
--贪婪节点不弹领取圣物
if GetCurNodeInfo.type == ExpeditionNodeType.Greed then--贪婪节点
local drop = BattleManager.GetLastBattleResult().drop
if m_battleResult.drop.itemlist and #drop.itemlist > 0 then
LogGreen("m_battleResult.drop.itemlist "..#m_battleResult.drop.itemlist)
else
LogGreen(Language[12202])
end
UIManager.OpenPanel(UIName.RewardItemPopup,m_battleResult.drop, 1,function(isBackBattle)
LogPink("isBackBattle "..tostring(isBackBattle))
if not isBackBattle then
if m_battlePanel then
m_battlePanel:ClosePanel()
end
if _BattleBestPopup then
_BattleBestPopup:ClosePanel()
end
Game.GlobalEvent:DispatchEvent(GameEvent.Expedition.RefreshPlayAniMainPanel)
end
end, 0,true,true)
elseif GetCurNodeInfo.type == ExpeditionNodeType.Trail then--试炼节点
if m_battleResult.drop and m_battleResult.drop.soulEquip and #m_battleResult.drop.soulEquip > 0 then
for i = 1, #m_battleResult.drop.soulEquip do
ExpeditionManager.InitSingleTreasureData(m_battleResult.drop.soulEquip[i])
end
end
if m_battleResult.drop and m_battleResult.drop.Hero and m_battleResult.drop.Hero[1] then
ExpeditionManager.UpdateHeroDatas(m_battleResult.drop.Hero[1])
else
LogError(Language[11541])
end
if m_battlePanel then
m_battlePanel:ClosePanel()
end
PopupTipPanel.ShowTip(Language[12192])
else
UIManager.OpenPanel(UIName.RewardItemPopup,BattleManager.GetLastBattleResult().drop, 1,function(isBackBattle)
LogPink("isBackBattle "..tostring(isBackBattle))
if not isBackBattle then
if m_battlePanel then
m_battlePanel:ClosePanel()
end
if _BattleBestPopup then
_BattleBestPopup:ClosePanel()
end
if GetCurNodeInfo.holyEquipID and #GetCurNodeInfo.holyEquipID > 0 then
UIManager.OpenPanel(UIName.ExpeditionSelectHalidomPanel,true,function ()
end)
else
--此时战斗了但没有圣物 所有直接刷新界面动画 后并刷新界面
Game.GlobalEvent:DispatchEvent(GameEvent.Expedition.RefreshPlayAniMainPanel)
end
end
end, 0,true,true)
end
end,func2)
end
if BattleManager.GetLastBattleType() == BATTLE_TYPE.STORY_FIGHT then-- 新关卡战斗
this.ShowBattleResultByStoryFight(BattleManager.GetLastBattleResult().drop)
elseif BattleManager.GetLastBattleType() == BATTLE_TYPE.EXECUTE_FIGHT then--猎妖之路
this.ShowBattleResultByExpedition(BattleManager.GetLastBattleResult().drop)
elseif BattleManager.GetLastBattleType() == BATTLE_TYPE.GUILD_CAR_DELAY then--车迟
local bestData, allDamage= BattleRecordManager.GetBattleBestData()
if bestData then
-- 胜利显示本场比赛的表现最好的英雄
UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId,bestData.skinId, bestData.damage, allDamage, function(_BattleBestPopup)
-- 打开关卡奖励界面
UIManager.OpenPanel(UIName.RewardItemPopup,nil, 1,function(isBackBattle)
LogPink("isBackBattle "..tostring(isBackBattle))
if not isBackBattle then
--车迟抢夺cd计时
GuildCarDelayManager.SetCdTime(GuildCarDelayProType.Loot)
if _BattleBestPopup then
_BattleBestPopup:ClosePanel()
end
if m_battlePanel then
m_battlePanel:ClosePanel()
end
self:ClosePanel()
end
end, 3,true,true)
end)
end
this.ShowBattleResultByCarDeleayType(BattleManager.GetLastBattleResult().drop)
elseif BattleManager.GetLastBattleType() == BATTLE_TYPE.MONSTER_CAMP then--兽潮来袭
this.ShowBattleResultByMonsterCamp(BattleManager.GetLastBattleResult().drop)
end
end
end
end
-- 兽潮来袭结算界面特殊显示
function this.ShowBattleResultByMonsterCamp(drop)
if m_battlePanel then
m_battlePanel:ClosePanel()
end
this:ClosePanel()
if m_backPanel then
UIManager.OpenPanel(m_backPanel)
end
UIManager.OpenPanel(UIName.RewardItemPopup, drop, 1,function(isBackBattle)--isBackBattle true时 为回放不走回调
LogPink("isBackBattle "..tostring(isBackBattle))
if not isBackBattle then
if m_callBack then m_callBack() end
--内容优化 心魔试炼推送
Game.GlobalEvent:DispatchEvent(GameEvent.PatFace.PatFaceSend,FacePanelType.MonsterWave)
end
end, nil, not m_notShowRecord)
end
-- 新关卡战斗结算界面特殊显示
function this.ShowBattleResultByStoryFight(drop)
FightPointPassManager.FightBattleEnd()
FightPointPassManager.OnBattleEnd(m_battleResult)
local bestData, allDamage= BattleRecordManager.GetBattleBestData()
if bestData then
-- 胜利显示本场比赛的表现最好的英雄
UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId,bestData.skinId, bestData.damage, allDamage, function(_BattleBestPopup)
-- 打开关卡奖励界面
UIManager.OpenPanel(UIName.RewardItemPopup, drop, 1,function(isBackBattle)--isBackBattle true时 为回放不走回调
LogPink("isBackBattle "..tostring(isBackBattle))
if not isBackBattle then
if _BattleBestPopup then
_BattleBestPopup:ClosePanel()
end
if m_battlePanel then
m_battlePanel:ClosePanel()
end
this:ClosePanel()
-- 再刷新一便关卡信息
NetManager.InitFightPointLevelInfo()
end
end, 1, true, true)
end)
else
-- 打开关卡奖励界面
UIManager.OpenPanel(UIName.RewardItemPopup, drop, 1,function()
if m_battlePanel then
m_battlePanel:ClosePanel()
end
this:ClosePanel()
end, 1, true)
end
end
-- 车迟斗法结算界面特殊显示
function this.ShowBattleResultByCarDeleayType(drop)
local bestData, allDamage= BattleRecordManager.GetBattleBestData()
if bestData then
-- 胜利显示本场比赛的表现最好的英雄
UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId,bestData.skinId, bestData.damage, allDamage, function(_BattleBestPopup)
-- 打开关卡奖励界面
UIManager.OpenPanel(UIName.RewardItemPopup,nil, 1,function(isBackBattle)--isBackBattle true时 为回放不走回调
LogPink("isBackBattle "..tostring(isBackBattle))
if not isBackBattle then
--车迟抢夺cd计时
GuildCarDelayManager.SetCdTime(GuildCarDelayProType.Loot)
if _BattleBestPopup then
_BattleBestPopup:ClosePanel()
end
if m_battlePanel then
m_battlePanel:ClosePanel()
end
this:ClosePanel()
end
end, 3,true,true)
end)
end
end
-- 猎妖之路结算界面特殊显示
function this.ShowBattleResultByExpedition(drop)
this:ClosePanel()
local bestData, allDamage= BattleRecordManager.GetBattleBestData()
if bestData then
-- 胜利显示本场比赛的表现最好的英雄
local GetCurNodeInfo = ExpeditionManager.curAttackNodeInfo--ExpeditionManager.GetCurNodeInfo()
local func2 = nil
if GetCurNodeInfo.type == ExpeditionNodeType.Trail then--试炼节点
func2 = function()
Game.GlobalEvent:DispatchEvent(GameEvent.Expedition.RefreshPlayAniMainPanel)
end
end
UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId,bestData.skinId, bestData.damage, allDamage, function(_BattleBestPopup)
--贪婪节点不弹领取圣物
if GetCurNodeInfo.type == ExpeditionNodeType.Greed then--贪婪节点
if drop.itemlist and #drop.itemlist > 0 then
LogGreen("m_battleResult.drop.itemlist "..#m_battleResult.drop.itemlist)
else
LogGreen(Language[12202])
end
UIManager.OpenPanel(UIName.RewardItemPopup,drop, 1,function(isBackBattle)--isBackBattle true时 为回放不走回调
LogPink("isBackBattle "..tostring(isBackBattle))
if not isBackBattle then
if m_battlePanel then
m_battlePanel:ClosePanel()
end
if _BattleBestPopup then
_BattleBestPopup:ClosePanel()
end
Game.GlobalEvent:DispatchEvent(GameEvent.Expedition.RefreshPlayAniMainPanel)
end
end, 0,true,true)
elseif GetCurNodeInfo.type == ExpeditionNodeType.Trail then--试炼节点
if m_battleResult.drop and m_battleResult.drop.soulEquip and #m_battleResult.drop.soulEquip > 0 then
for i = 1, #m_battleResult.drop.soulEquip do
ExpeditionManager.InitSingleTreasureData(m_battleResult.drop.soulEquip[i])
end
end
if m_battleResult.drop and m_battleResult.drop.Hero and m_battleResult.drop.Hero[1] then
ExpeditionManager.UpdateHeroDatas(m_battleResult.drop.Hero[1])
else
LogError(Language[11541])
end
if m_battlePanel then
m_battlePanel:ClosePanel()
end
PopupTipPanel.ShowTip(Language[12192])
else
UIManager.OpenPanel(UIName.RewardItemPopup,drop, 1,function(isBackBattle)--isBackBattle true时 为回放不走回调
LogPink("isBackBattle "..tostring(isBackBattle))
if not isBackBattle then
if m_battlePanel then
m_battlePanel:ClosePanel()
end
if _BattleBestPopup then
_BattleBestPopup:ClosePanel()
end
if GetCurNodeInfo.holyEquipID and #GetCurNodeInfo.holyEquipID > 0 then
UIManager.OpenPanel(UIName.ExpeditionSelectHalidomPanel,true,function ()
end)
else
--此时战斗了但没有圣物 所有直接刷新界面动画 后并刷新界面
Game.GlobalEvent:DispatchEvent(GameEvent.Expedition.RefreshPlayAniMainPanel)
end
end
end, 0,true,true)
end
end,func2)
end
end
--添加事件监听(用于子类重写)
function BattleWinPopup:AddListener()