From f162ef1de9b4b5f4b0d9d8d4d3d16aee23d9f7af Mon Sep 17 00:00:00 2001 From: "DESKTOP-RH64908\\Administrator" Date: Thu, 28 Aug 2025 16:13:29 +0800 Subject: [PATCH] 1 --- .../~Lua/Modules/Popup/BattleWinPopup.lua | 649 ++++++++++-------- 1 file changed, 348 insertions(+), 301 deletions(-) diff --git a/Assets/ManagedResources/~Lua/Modules/Popup/BattleWinPopup.lua b/Assets/ManagedResources/~Lua/Modules/Popup/BattleWinPopup.lua index 3d98c02c20..ffb064244d 100644 --- a/Assets/ManagedResources/~Lua/Modules/Popup/BattleWinPopup.lua +++ b/Assets/ManagedResources/~Lua/Modules/Popup/BattleWinPopup.lua @@ -10,7 +10,7 @@ local m_backPanel local orginLayer local m_callBack local hadClick = false - +local isFightNextClick = false --初始化组件(用于子类重写) function BattleWinPopup:InitComponent() this.spLoader = SpriteLoader.New() @@ -21,18 +21,19 @@ end --绑定事件(用于子类重写) function BattleWinPopup:BindEvent() - - Util.AddClick(this.btnWin, function () - self:ClosePanel() - if m_fightType == BATTLE_TYPE.Test then - if m_battlePanel then - m_battlePanel:ClosePanel() - end + Util.AddClick(this.btnWin, function() + if isFightNextClick == false then + self:ClosePanel() + if m_fightType == BATTLE_TYPE.Test then + if m_battlePanel then + m_battlePanel:ClosePanel() + end + end end end) end --- +-- function BattleWinPopup:NextStep() if not hadClick then -- 避免重复结算 hadClick = true @@ -43,61 +44,68 @@ function BattleWinPopup:NextStep() self:ClosePanel() return end - if m_fightType == BATTLE_TYPE.MAP_FIGHT then --副本战斗结算 + if m_fightType == BATTLE_TYPE.MAP_FIGHT then --副本战斗结算 this.ShowBattleResultByMapFight() 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 == BATTLE_TYPE.MONSTER_CAMP then -- 兽潮来袭 + UIManager.OpenPanel(UIName.RewardItemPopup, m_battleResult.drop, 1, + function() + m_battlePanel:ClosePanel() + self:ClosePanel() + end, 1, true) + elseif m_fightType == BATTLE_TYPE.MONSTER_CAMP then -- 兽潮来袭 this.ShowBattleResultByMonsterCamp(m_battleResult.drop) - elseif m_fightType == BATTLE_TYPE.STORY_FIGHT then -- 新关卡的战斗 + elseif m_fightType == BATTLE_TYPE.STORY_FIGHT then -- 新关卡的战斗 this.ShowBattleResultByStoryFight(m_battleResult.drop) - elseif m_fightType == BATTLE_TYPE.FOURELEMENT then -- 四灵 + elseif m_fightType == BATTLE_TYPE.FOURELEMENT then -- 四灵 this.ShowBattleResultByFourElement(m_battleResult.drop) elseif m_fightType == BATTLE_TYPE.EXECUTE_FIGHT then -- 猎妖之路 this.ShowBattleResultByExpedition(m_battleResult.drop) - elseif m_fightType == BATTLE_TYPE.DAILY_CHALLENGE-- 日常副本 - or m_fightType == BATTLE_TYPE.XUAN_YUAN_MIRROR - or m_fightType == BATTLE_TYPE.TRIAL_FIGHT then - m_battlePanel:ClosePanel() self:ClosePanel(m_battleResult.drop) + elseif m_fightType == BATTLE_TYPE.DAILY_CHALLENGE -- 日常副本 + or m_fightType == BATTLE_TYPE.XUAN_YUAN_MIRROR + or m_fightType == BATTLE_TYPE.TRIAL_FIGHT 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.XIAOYAOYOU then - if m_battlePanel then m_battlePanel:ClosePanel()end self:ClosePanel() - elseif m_fightType == BATTLE_TYPE.FIGHTLEVEL then--山河社稷图主关卡 + if m_battlePanel then m_battlePanel:ClosePanel() end + self:ClosePanel() + elseif m_fightType == BATTLE_TYPE.FIGHTLEVEL then --山河社稷图主关卡 this.ShowBattleResultByFightLevelType(m_battleResult.drop) - elseif m_fightType == BATTLE_TYPE.FIGHT_ASSISTANT_LEVEL then--山河社稷图副关卡 - this.ShowBattleResultByFightLevelAssistantType(m_battleResult.drop) + elseif m_fightType == BATTLE_TYPE.FIGHT_ASSISTANT_LEVEL then --山河社稷图副关卡 + this.ShowBattleResultByFightLevelAssistantType(m_battleResult.drop) elseif m_fightType == BATTLE_TYPE.JumpServerhightLadder then -- 跨服天梯的战斗 - this.JumpServerHithtLadder() - elseif m_fightType == BATTLE_TYPE.EndlessMpaFight then--无尽地图战斗 + this.JumpServerHithtLadder() + elseif m_fightType == BATTLE_TYPE.EndlessMpaFight then --无尽地图战斗 this.ShowBattleResultByEndless() - elseif m_fightType == BATTLE_TYPE.QIJIE_FIGHT then--宇宙生存挑战战斗 + elseif m_fightType == BATTLE_TYPE.QIJIE_FIGHT then --宇宙生存挑战战斗 this.ShowBattleResultByQiJie() elseif m_fightType == BATTLE_TYPE.CHALLENG_COPY_1 or m_fightType == BATTLE_TYPE.CHALLENG_COPY_2 then this.ShowBattleResultByChallengeCopy() - --新回放功能 + --新回放功能 elseif m_fightType == BATTLE_TYPE.BACK_BATTLE then - if BattleManager.GetLastBattleType() == BATTLE_TYPE.STORY_FIGHT then-- 新关卡战斗 + if BattleManager.GetLastBattleType() == BATTLE_TYPE.STORY_FIGHT then -- 新关卡战斗 this.ShowBattleResultByStoryFight(BattleManager.GetLastBattleResult().drop) - elseif BattleManager.GetLastBattleType() == BATTLE_TYPE.FOURELEMENT then -- 四灵试炼 + elseif BattleManager.GetLastBattleType() == BATTLE_TYPE.FOURELEMENT then -- 四灵试炼 this.ShowBattleResultByFourElement(BattleManager.GetLastBattleResult().drop) - elseif BattleManager.GetLastBattleType() == BATTLE_TYPE.EXECUTE_FIGHT then--猎妖之路 + elseif BattleManager.GetLastBattleType() == BATTLE_TYPE.EXECUTE_FIGHT then --猎妖之路 this.ShowBattleResultByExpedition(BattleManager.GetLastBattleResult().drop) - elseif BattleManager.GetLastBattleType() == BATTLE_TYPE.GUILD_CAR_DELAY then--车迟 + elseif BattleManager.GetLastBattleType() == BATTLE_TYPE.GUILD_CAR_DELAY then --车迟 this.ShowBattleResultByCarDeleayType(BattleManager.GetLastBattleResult().drop) - elseif BattleManager.GetLastBattleType() == BATTLE_TYPE.MONSTER_CAMP then--兽潮来袭 + elseif BattleManager.GetLastBattleType() == BATTLE_TYPE.MONSTER_CAMP then --兽潮来袭 this.ShowBattleResultByMonsterCamp(BattleManager.GetLastBattleResult().drop) elseif BattleManager.GetLastBattleType() == BATTLE_TYPE.XIAOYAOYOU then - if m_battlePanel then m_battlePanel:ClosePanel()end self:ClosePanel() - elseif BattleManager.GetLastBattleType() == BATTLE_TYPE.FIGHTLEVEL then--山河社稷图 + if m_battlePanel then m_battlePanel:ClosePanel() end + self:ClosePanel() + elseif BattleManager.GetLastBattleType() == BATTLE_TYPE.FIGHTLEVEL then --山河社稷图 this.ShowBattleResultByFightLevelType(BattleManager.GetLastBattleResult().drop) - elseif BattleManager.GetLastBattleType() == BATTLE_TYPE.FIGHT_ASSISTANT_LEVEL then--山河社稷图副关卡 + elseif BattleManager.GetLastBattleType() == BATTLE_TYPE.FIGHT_ASSISTANT_LEVEL then --山河社稷图副关卡 this.ShowBattleResultByFightLevelAssistantType(BattleManager.GetLastBattleResult().drop) elseif BattleManager.GetLastBattleType() == BATTLE_TYPE.JumpServerhightLadder then this.JumpServerHithtLadder() elseif BattleManager.GetLastBattleType() == BATTLE_TYPE.QIJIE_FIGHT then this.ShowBattleResultByQiJie() - elseif BattleManager.GetLastBattleType() == BATTLE_TYPE.CHALLENG_COPY_1 or BattleManager.GetLastBattleType() == BATTLE_TYPE.CHALLENG_COPY_2 then + elseif BattleManager.GetLastBattleType() == BATTLE_TYPE.CHALLENG_COPY_1 or BattleManager.GetLastBattleType() == BATTLE_TYPE.CHALLENG_COPY_2 then this.ShowBattleResultByChallengeCopy() end end @@ -106,34 +114,13 @@ end --副本战斗结算 function this.ShowBattleResultByMapFight() - local bestData, allDamage= BattleRecordManager.GetBattleBestData() + 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, m_battleResult.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, 0, true, true) - end) - end -end - ---宇宙生存挑战战斗界面特殊显示 -function this.ShowBattleResultByQiJie() - 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, QiJieShiLianManager.battleResult.drop, 1,function(isBackBattle) - if not isBackBattle then + UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId, bestData.skinId, bestData.damage, allDamage, + function(_BattleBestPopup) + -- 打开关卡奖励界面 + UIManager.OpenPanel(UIName.RewardItemPopup, m_battleResult.drop, 1, function() if _BattleBestPopup then _BattleBestPopup:ClosePanel() end @@ -141,111 +128,152 @@ function this.ShowBattleResultByQiJie() m_battlePanel:ClosePanel() end this:ClosePanel() - end - end, 10, true,true) - end) + Game.GlobalEvent:DispatchEvent(GameEvent.Bag.BagGold) + end, 0, true, true) + end) + end +end + +--宇宙生存挑战战斗界面特殊显示 +function this.ShowBattleResultByQiJie() + 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, QiJieShiLianManager.battleResult.drop, 1, + function(isBackBattle) + if not isBackBattle then + if _BattleBestPopup then + _BattleBestPopup:ClosePanel() + end + if m_battlePanel then + m_battlePanel:ClosePanel() + end + this:ClosePanel() + end + end, 10, true, true) + end) end end --修行挑战战斗界面特殊显示 function this.ShowBattleResultByChallengeCopy() LogBlue("--修行挑战战斗界面特殊显示") - local bestData, allDamage= BattleRecordManager.GetBattleBestData() + 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, CarbonManager.battleResult.drop, 1,function(isBackBattle) - if not isBackBattle then - if _BattleBestPopup then - _BattleBestPopup:ClosePanel() + UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId, bestData.skinId, bestData.damage, allDamage, + function(_BattleBestPopup) + -- 打开关卡奖励界面 + UIManager.OpenPanel(UIName.RewardItemPopup, CarbonManager.battleResult.drop, 1, function(isBackBattle) + if not isBackBattle then + if _BattleBestPopup then + _BattleBestPopup:ClosePanel() + end + if m_battlePanel then + m_battlePanel:ClosePanel() + end + this:ClosePanel() end - if m_battlePanel then - m_battlePanel:ClosePanel() - end - this:ClosePanel() - end - end, 12 , true,true) - end) + end, 12, true, true) + end) end end --无尽副本战斗界面特殊显示 function this.ShowBattleResultByEndless() - local bestData, allDamage= BattleRecordManager.GetBattleBestData() + 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, EndLessMapManager.EndlessDrop, 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,0, true, true) - end) + UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId, bestData.skinId, bestData.damage, allDamage, + function(_BattleBestPopup) + -- 打开关卡奖励界面 + UIManager.OpenPanel(UIName.RewardItemPopup, EndLessMapManager.EndlessDrop, 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, 0, true, true) + end) end end -- 兽潮来袭结算界面特殊显示 function this.ShowBattleResultByMonsterCamp(drop) - local bestData, allDamage= BattleRecordManager.GetBattleBestData() + 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) - -- LogPink("isBackBattle "..tostring(isBackBattle)) - if not isBackBattle then - if _BattleBestPopup then - _BattleBestPopup:ClosePanel() + UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId, bestData.skinId, bestData.damage, allDamage, + function(_BattleBestPopup) + -- 打开关卡奖励界面 + UIManager.OpenPanel(UIName.RewardItemPopup, 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 + this:ClosePanel() + if m_callBack then m_callBack() end + --内容优化 心魔试炼推送 + Game.GlobalEvent:DispatchEvent(GameEvent.PatFace.PatFaceSend, FacePanelType.MonsterWave) + CheckRedPointStatus(RedPointType.EpicExplore_LevleReward) + this:ClosePanel() end - if m_battlePanel then - m_battlePanel:ClosePanel() - end - this:ClosePanel() - if m_callBack then m_callBack() end - --内容优化 心魔试炼推送 - Game.GlobalEvent:DispatchEvent(GameEvent.PatFace.PatFaceSend,FacePanelType.MonsterWave) - CheckRedPointStatus(RedPointType.EpicExplore_LevleReward) - this:ClosePanel() - end - end, nil, true,true) - end) + end, nil, true, true) + end) end - end + -- 新关卡战斗结算界面特殊显示 function this.ShowBattleResultByStoryFight(drop) FightPointPassManager.FightBattleEnd() FightPointPassManager.OnBattleEnd(m_battleResult) - local bestData, allDamage= BattleRecordManager.GetBattleBestData() + 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) + UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId, bestData.skinId, bestData.damage, allDamage, + function(_BattleBestPopup) + -- 打开关卡奖励界面 + UIManager.OpenPanel(UIName.RewardItemPopup, drop, 1, + function(isBackBattle, isFightNext) --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() + if isFightNext then + isFightNextClick = true + FightPointPassManager.oldLevel = PlayerManager.level + local MonsterGroupId = FightPointPassManager.GetBattleMonsterGroup() + FightPointPassManager.enterFightBattle = true + FightPointPassManager.ExecuteFightBattle(MonsterGroupId, + FightPointPassManager.curOpenFight, function() + this:ClosePanel() + end) + else + this:ClosePanel() + end + end + end, 1, true, true) + end) else -- 打开关卡奖励界面 - UIManager.OpenPanel(UIName.RewardItemPopup, drop, 1,function() + UIManager.OpenPanel(UIName.RewardItemPopup, drop, 1, function() if m_battlePanel then m_battlePanel:ClosePanel() end @@ -253,36 +281,40 @@ function this.ShowBattleResultByStoryFight(drop) end, 1, true) end end + --四灵 function this.ShowBattleResultByFourElement(drop) - local bestData, allDamage= BattleRecordManager.GetBattleBestData() + 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, MonsterCampManager.drop, 1,function(isBackBattle)--isBackBattle true时 为回放不走回调 - LogPink("isBackBattle "..tostring(isBackBattle)) - if not isBackBattle then - MonsterCampManager.fourMonsterData[MonsterCampManager.curType].canFightTime = MonsterCampManager.fourMonsterData[MonsterCampManager.curType].canFightTime - 1 - MonsterCampManager.SaveFormation(MonsterCampManager.curType) - if MonsterCampManager.fourMonsterData[MonsterCampManager.curType].openState ~= 0 then - UIManager.OpenPanel(UIName.FourElementMonsterCampPanel,MonsterCampManager.curType) - else - UIManager.OpenPanel(UIName.MonsterCampMainPanel) - end - if _BattleBestPopup then - _BattleBestPopup:ClosePanel() - end - if m_battlePanel then - m_battlePanel:ClosePanel() - end - this:ClosePanel() - end - end, 0, true, true) - end) + UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId, bestData.skinId, bestData.damage, allDamage, + function(_BattleBestPopup) + -- 打开关卡奖励界面 + UIManager.OpenPanel(UIName.RewardItemPopup, MonsterCampManager.drop, 1, + function(isBackBattle) --isBackBattle true时 为回放不走回调 + LogPink("isBackBattle " .. tostring(isBackBattle)) + if not isBackBattle then + MonsterCampManager.fourMonsterData[MonsterCampManager.curType].canFightTime = + MonsterCampManager.fourMonsterData[MonsterCampManager.curType].canFightTime - 1 + MonsterCampManager.SaveFormation(MonsterCampManager.curType) + if MonsterCampManager.fourMonsterData[MonsterCampManager.curType].openState ~= 0 then + UIManager.OpenPanel(UIName.FourElementMonsterCampPanel, MonsterCampManager.curType) + else + UIManager.OpenPanel(UIName.MonsterCampMainPanel) + end + if _BattleBestPopup then + _BattleBestPopup:ClosePanel() + end + if m_battlePanel then + m_battlePanel:ClosePanel() + end + this:ClosePanel() + end + end, 0, true, true) + end) else -- 打开关卡奖励界面 - UIManager.OpenPanel(UIName.RewardItemPopup, drop, 1,function() + UIManager.OpenPanel(UIName.RewardItemPopup, drop, 1, function() if m_battlePanel then m_battlePanel:ClosePanel() end @@ -290,66 +322,71 @@ function this.ShowBattleResultByFourElement(drop) end, 1, true) end end + -- 车迟斗法结算界面特殊显示 function this.ShowBattleResultByCarDeleayType(drop) - local bestData, allDamage= BattleRecordManager.GetBattleBestData() + local bestData, allDamage = BattleRecordManager.GetBattleBestData() if bestData then - if m_fightType == BATTLE_TYPE.GUILD_CAR_DELAY then + if m_fightType == BATTLE_TYPE.GUILD_CAR_DELAY then --车迟抢夺cd计时 GuildCarDelayManager.SetCdTime(GuildCarDelayProType.Loot) end -- 胜利显示本场比赛的表现最好的英雄 - 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 - if _BattleBestPopup then - _BattleBestPopup:ClosePanel() + 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 + if _BattleBestPopup then + _BattleBestPopup:ClosePanel() + end + if m_battlePanel then + m_battlePanel:ClosePanel() + end + this:ClosePanel() end - if m_battlePanel then - m_battlePanel:ClosePanel() - end - this:ClosePanel() - end - end, 3,true,true) - end) + end, 3, true, true) + end) end end + -- 猎妖之路结算界面特殊显示 function this.ShowBattleResultByExpedition(drop) this:ClosePanel() - local bestData, allDamage= BattleRecordManager.GetBattleBestData() + local bestData, allDamage = BattleRecordManager.GetBattleBestData() if bestData then -- 胜利显示本场比赛的表现最好的英雄 - local GetCurNodeInfo = ExpeditionManager.curAttackNodeInfo--ExpeditionManager.GetCurNodeInfo() + local GetCurNodeInfo = ExpeditionManager.curAttackNodeInfo --ExpeditionManager.GetCurNodeInfo() local func2 = nil - if GetCurNodeInfo.type == ExpeditionNodeType.Trail then--试炼节点 + 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) + UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId, bestData.skinId, bestData.damage, allDamage, + function(_BattleBestPopup) --贪婪节点不弹领取圣物 - if GetCurNodeInfo.type == ExpeditionNodeType.Greed then--贪婪节点 + 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("贪婪节点无数据") 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() + 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 - if _BattleBestPopup then - _BattleBestPopup:ClosePanel() - end - Game.GlobalEvent:DispatchEvent(GameEvent.Expedition.RefreshPlayAniMainPanel) - end - end, 0,true,true) - elseif GetCurNodeInfo.type == ExpeditionNodeType.Trail then--试炼节点 + 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]) @@ -366,146 +403,157 @@ function this.ShowBattleResultByExpedition(drop) PopupTipPanel.ShowTip(Language[11459]) Game.GlobalEvent:DispatchEvent(GameEvent.Expedition.RefreshPlayAniMainPanel) 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() + 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 - 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, 0, true, true) end - end,func2) + end, func2) end end -- 山河社稷图结算界面特殊显示 function this.ShowBattleResultByFightLevelType(drop) - local bestData, allDamage= BattleRecordManager.GetBattleBestData() + local bestData, allDamage = BattleRecordManager.GetBattleBestData() if bestData then -- 胜利显示本场比赛的表现最好的英雄 - UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId,bestData.skinId, bestData.damage, allDamage, function(_BattleBestPopup) - -- 打开关卡奖励界面 - local HardStageFightResponseMsg = FightLevelManager.GetHardStageFightResponseMsg() - local oldBattlefightLevelData = FightLevelManager.GetcurBattlefightLevelData() - local curBattlefightLevelData = FightLevelManager.GetChapterLevelData(oldBattlefightLevelData.config.Chapter,oldBattlefightLevelData.nodeId) - -- LogYellow("山河社稷图战斗获得星级 "..HardStageFightResponseMsg.stars.." curBattlefightLevelData.isFirst "..tostring(curBattlefightLevelData.isFirst).." HardStageFightResponseMsg.currentIsHonour "..tostring(HardStageFightResponseMsg.currentIsHonour)) - -- if curBattlefightLevelData.isFirst then - -- PopupTipPanel.ShowTip("荣耀三星!") - -- end - UIManager.OpenPanel(UIName.RewardItemPopup,HardStageFightResponseMsg.drop, 1,function(isBackBattle)--isBackBattle true时 为回放不走回调 - if not isBackBattle then - if _BattleBestPopup then - _BattleBestPopup:ClosePanel() - end - if m_battlePanel then - m_battlePanel:ClosePanel() - end - this:ClosePanel() - local chapterData = FightLevelManager.GetChapterData(oldBattlefightLevelData.config.Chapter) - if FightLevelManager.GetisShowChapterOpenPopup() then - if oldBattlefightLevelData.config.Section == LengthOfTable(chapterData.node) then - UIManager.OpenPanel(UIName.FightLevelOpenChapterPopup,FightLevelManager.GetCurChapterId(),function() - end) - else - FightLevelManager.SetisShowChapterOpenPopup(false) + UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId, bestData.skinId, bestData.damage, allDamage, + function(_BattleBestPopup) + -- 打开关卡奖励界面 + local HardStageFightResponseMsg = FightLevelManager.GetHardStageFightResponseMsg() + local oldBattlefightLevelData = FightLevelManager.GetcurBattlefightLevelData() + local curBattlefightLevelData = FightLevelManager.GetChapterLevelData( + oldBattlefightLevelData.config.Chapter, oldBattlefightLevelData.nodeId) + -- LogYellow("山河社稷图战斗获得星级 "..HardStageFightResponseMsg.stars.." curBattlefightLevelData.isFirst "..tostring(curBattlefightLevelData.isFirst).." HardStageFightResponseMsg.currentIsHonour "..tostring(HardStageFightResponseMsg.currentIsHonour)) + -- if curBattlefightLevelData.isFirst then + -- PopupTipPanel.ShowTip("荣耀三星!") + -- end + UIManager.OpenPanel(UIName.RewardItemPopup, HardStageFightResponseMsg.drop, 1, + function(isBackBattle) --isBackBattle true时 为回放不走回调 + if not isBackBattle then + if _BattleBestPopup then + _BattleBestPopup:ClosePanel() + end + if m_battlePanel then + m_battlePanel:ClosePanel() + end + this:ClosePanel() + local chapterData = FightLevelManager.GetChapterData(oldBattlefightLevelData.config.Chapter) + if FightLevelManager.GetisShowChapterOpenPopup() then + if oldBattlefightLevelData.config.Section == LengthOfTable(chapterData.node) then + UIManager.OpenPanel(UIName.FightLevelOpenChapterPopup, + FightLevelManager.GetCurChapterId(), function() + end) + else + FightLevelManager.SetisShowChapterOpenPopup(false) + end + end end - end - end - end, 8,true,true) - end) + end, 8, true, true) + end) end end + -- 山河社稷图结算界面副关卡特殊显示 function this.ShowBattleResultByFightLevelAssistantType(drop) - local bestData, allDamage= BattleRecordManager.GetBattleBestData() + local bestData, allDamage = BattleRecordManager.GetBattleBestData() if bestData then -- 胜利显示本场比赛的表现最好的英雄 - UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId,bestData.skinId, bestData.damage, allDamage, function(_BattleBestPopup) - -- 打开关卡奖励界面 - local HardStageFightResponseMsg = FightLevelManager.GetHardStageFightResponseMsg() - LogYellow("超越之路战斗获得星级 "..HardStageFightResponseMsg.stars) - local curBattlefightLevelData = FightLevelManager.GetcurBattlefightLevelData() - LogYellow("curBattlefightLevelData.state "..curBattlefightLevelData.state) - if curBattlefightLevelData.state == 0 then--副关卡未通过 第一次通关 展示奖励 - UIManager.OpenPanel(UIName.RewardItemPopup,HardStageFightResponseMsg.drop, 1,function(isBackBattle)--isBackBattle true时 为回放不走回调 - if not isBackBattle then - if _BattleBestPopup then - _BattleBestPopup:ClosePanel() - end - if m_battlePanel then - m_battlePanel:ClosePanel() - end - this:ClosePanel() - -- Game.GlobalEvent:DispatchEvent(GameEvent.FightLevel.MainLevelInfoRefresh) - end - end,nil,true,true) - elseif curBattlefightLevelData.state == 1 then - UIManager.OpenPanel(UIName.RewardItemPopup,HardStageFightResponseMsg.drop, 1,function(isBackBattle)--isBackBattle true时 为回放不走回调 - if not isBackBattle then - if _BattleBestPopup then - _BattleBestPopup:ClosePanel() - end - if m_battlePanel then - m_battlePanel:ClosePanel() - end - this:ClosePanel() - -- Game.GlobalEvent:DispatchEvent(GameEvent.FightLevel.MainLevelInfoRefresh) - end - end, 9,true,true) - end - end) + UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId, bestData.skinId, bestData.damage, allDamage, + function(_BattleBestPopup) + -- 打开关卡奖励界面 + local HardStageFightResponseMsg = FightLevelManager.GetHardStageFightResponseMsg() + LogYellow("超越之路战斗获得星级 " .. HardStageFightResponseMsg.stars) + local curBattlefightLevelData = FightLevelManager.GetcurBattlefightLevelData() + LogYellow("curBattlefightLevelData.state " .. curBattlefightLevelData.state) + if curBattlefightLevelData.state == 0 then --副关卡未通过 第一次通关 展示奖励 + UIManager.OpenPanel(UIName.RewardItemPopup, HardStageFightResponseMsg.drop, 1, + function(isBackBattle) --isBackBattle true时 为回放不走回调 + if not isBackBattle then + if _BattleBestPopup then + _BattleBestPopup:ClosePanel() + end + if m_battlePanel then + m_battlePanel:ClosePanel() + end + this:ClosePanel() + -- Game.GlobalEvent:DispatchEvent(GameEvent.FightLevel.MainLevelInfoRefresh) + end + end, nil, true, true) + elseif curBattlefightLevelData.state == 1 then + UIManager.OpenPanel(UIName.RewardItemPopup, HardStageFightResponseMsg.drop, 1, + function(isBackBattle) --isBackBattle true时 为回放不走回调 + if not isBackBattle then + if _BattleBestPopup then + _BattleBestPopup:ClosePanel() + end + if m_battlePanel then + m_battlePanel:ClosePanel() + end + this:ClosePanel() + -- Game.GlobalEvent:DispatchEvent(GameEvent.FightLevel.MainLevelInfoRefresh) + end + end, 9, true, true) + end + end) end end --跨服天梯 -function this.JumpServerHithtLadder() - local bestData, allDamage= BattleRecordManager.GetBattleBestData() +function this.JumpServerHithtLadder() + 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, JumpServerManager.curBattleDrop, 1,function(isBackBattle) - if not isBackBattle then - if _BattleBestPopup then - _BattleBestPopup:ClosePanel() + UIManager.OpenPanel(UIName.BattleBestPopup, bestData.roleId, bestData.skinId, bestData.damage, allDamage, + function(_BattleBestPopup) + -- 打开关卡奖励界面 + UIManager.OpenPanel(UIName.RewardItemPopup, JumpServerManager.curBattleDrop, 1, function(isBackBattle) + if not isBackBattle then + if _BattleBestPopup then + _BattleBestPopup:ClosePanel() + end + if m_battlePanel then + m_battlePanel:ClosePanel() + end + this:ClosePanel() end - if m_battlePanel then - m_battlePanel:ClosePanel() + end, 0, true, true) + if m_fightType == BATTLE_TYPE.JumpServerhightLadder then + local MyRank = JumpServerManager.GetHightLadderDataMyRank() + local OldMyRank = JumpServerManager.GetHightLadderDataOldMyRank() + if MyRank ~= OldMyRank then + PopupTipPanel.ShowTip("挑战成功,鸟笼竞技场排行已提升至" .. MyRank .. "名!") + elseif MyRank == OldMyRank then + PopupTipPanel.ShowTip("挑战成功") end - this:ClosePanel() end - end, 0,true,true) - if m_fightType == BATTLE_TYPE.JumpServerhightLadder then - local MyRank = JumpServerManager.GetHightLadderDataMyRank() - local OldMyRank = JumpServerManager.GetHightLadderDataOldMyRank() - if MyRank ~= OldMyRank then - PopupTipPanel.ShowTip("挑战成功,鸟笼竞技场排行已提升至".. MyRank .."名!" ) - elseif MyRank == OldMyRank then - PopupTipPanel.ShowTip("挑战成功") - end - end - end) + end) else -- 打开关卡奖励界面 -- UIManager.OpenPanel(UIName.RewardItemPopup, m_battleResult.drop, 1,function() - if m_battlePanel then - m_battlePanel:ClosePanel() - end - this:ClosePanel() + if m_battlePanel then + m_battlePanel:ClosePanel() + end + this:ClosePanel() -- end) end end + --添加事件监听(用于子类重写) function BattleWinPopup:AddListener() @@ -523,8 +571,8 @@ end --界面打开时调用(用于子类重写) function BattleWinPopup:OnOpen(battlePanel, isBack, fightType, result, showRecord, backPanel, func) - hadClick = false + isFightNextClick = false if battlePanel then m_battlePanel = battlePanel end @@ -564,7 +612,6 @@ end --界面销毁时调用(用于子类重写) function BattleWinPopup:OnDestroy() this.spLoader:Destroy() - end -return BattleWinPopup \ No newline at end of file +return BattleWinPopup