zhangjiannan 2025-03-18 14:52:15 +08:00
parent f97a113175
commit f678589a0c
2 changed files with 356 additions and 303 deletions

View File

@ -1,4 +1,4 @@
require("Base/BasePanel")
require("Base/BasePanel")
BattleWinPopup = Inherit(BasePanel)
local this = BattleWinPopup
local m_isBack
@ -21,18 +21,17 @@ end
--绑定事件(用于子类重写)
function BattleWinPopup:BindEvent()
Util.AddClick(this.btnWin, function ()
Util.AddClick(this.btnWin, function()
self:ClosePanel()
if m_fightType == BATTLE_TYPE.Test then
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 +42,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 +112,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 +126,151 @@ 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
-- 再刷新一便关卡信息
NetManager.InitFightPointLevelInfo()
if isFightNext then
LogError("dddddddddddddddddd")
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 +278,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 +319,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 +400,157 @@ function this.ShowBattleResultByExpedition(drop)
PopupTipPanel.ShowTip(Language[12091])
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(Language[12092] .. MyRank .. Language[12093])
elseif MyRank == OldMyRank then
PopupTipPanel.ShowTip(Language[12094])
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(Language[12092].. MyRank ..Language[12093] )
elseif MyRank == OldMyRank then
PopupTipPanel.ShowTip(Language[12094])
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,7 +568,6 @@ end
--界面打开时调用(用于子类重写)
function BattleWinPopup:OnOpen(battlePanel, isBack, fightType, result, showRecord, backPanel, func)
hadClick = false
if battlePanel then
m_battlePanel = battlePanel
@ -564,7 +608,6 @@ end
--界面销毁时调用(用于子类重写)
function BattleWinPopup:OnDestroy()
this.spLoader:Destroy()
end
return BattleWinPopup
return BattleWinPopup

View File

@ -21,6 +21,7 @@ local isPlayerAniEnd = true
local itemDataList
local showHero = 1
local isBackBattle = false
local isFightNext = false
local conditionGo = {}
local starListEffect = {}
local soliderAutoTimer = nil
@ -28,7 +29,6 @@ local soliderAutoTimer = nil
--此界面无奈做了两套显示逻辑一个是掉落小于等于25时背景根据元素数量做拉伸状态 另一个是元素大于25做界面做可滑动
function RewardItemPopup:InitComponent()
this.spLoader = SpriteLoader.New()
this.btnBack = Util.GetGameObject(self.gameObject, "btnBack")
this.dropPrefab = Util.GetGameObject(self.gameObject, "frame")
--第一种显示
@ -49,6 +49,8 @@ function RewardItemPopup:InitComponent()
-- 战斗结果按钮
this.btnResult = Util.GetGameObject(self.gameObject, "ScrollView/Content/bottom/grid/Btns/btnResult")
this.btnBattleBack = Util.GetGameObject(self.gameObject, "ScrollView/Content/bottom/grid/Btns/btnBattleBack")
this.btnFightNext = Util.GetGameObject(self.gameObject, "ScrollView/Content/bottom/grid/Btns/fightNext")
this.btnFightNext:SetActive(false)
-- 战斗回放按钮
--车迟斗法 显示
@ -114,6 +116,10 @@ function RewardItemPopup:BindEvent()
isBackBattle = true
BattleManager.BattleBackFun()
end)
Util.AddClick(this.btnFightNext, function()
isFightNext = true
self:ClosePanel()
end)
end
--界面打开时调用(用于子类重写)
@ -130,6 +136,7 @@ function RewardItemPopup:OnOpen(...)
itemListPrefab = {}
itemDataList = {}
isBackBattle = false
isFightNext = false
isPlayerAniEnd = true
BagManager.isBagPanel = false
isOpenGeiSSRAvtivity = 0
@ -149,7 +156,8 @@ function RewardItemPopup:OnOpen(...)
showHero = true
end
this.shenying.gameObject:SetActive(false)
--如果没有compShowType和Drop--背包已满
--如果没有compShowType和Drop
--背包已满
if not args[4] and (not drop or (#drop.itemlist < 1 and #drop.equipId < 1 and #drop.Hero < 1 and #drop.soulEquip < 1 and #drop.pokemon < 1 and #drop.magicSoldier < 1)) then
LogGreen("掉落为空" .. #drop.itemlist)
LogError(
@ -164,6 +172,7 @@ function RewardItemPopup:OnOpen(...)
this.btnBattleBack:SetActive(haveRecord and args[5] and BattleManager.GetLastBattleType() ~= BATTLE_TYPE.MAP_FIGHT and
not GuideManager.IsInMainGuide() and not MapManager.Mapping and
BattleManager.GetLastBattleType() ~= BATTLE_TYPE.TASUILINGXIAO)
this.btnFightNext:SetActive(BattleManager.GetLastBattleType() == BATTLE_TYPE.STORY_FIGHT)
this.expeditionGo:SetActive(compShowType == 5)
this.guildDeathPos:SetActive(compShowType == 4) --十绝阵
this.guildTranscript:SetActive(compShowType == 6)
@ -416,7 +425,8 @@ function this.ChallengeCopyShow()
progressBar.fillAmount = t
end), data[2], 0.5):SetEase(Ease.Linear)
local scoreTextArr = { "chall_score_lianghao_zh", "chall_score_youxiu_zh", "chall_score_shishi_zh", "chall_score_chuanshuo_zh",
local scoreTextArr = { "chall_score_lianghao_zh", "chall_score_youxiu_zh", "chall_score_shishi_zh",
"chall_score_chuanshuo_zh",
"chall_score_shenhua_zh" }
local scoreImageArr = { "r_hero_tujian_lianghao_zh", "r_hero_tujian_youxiu_zh", "r_hero_tujian_shishi_zh",
"r_hero_tujian_chuanshuo_zh", "r_hero_tujian_shenhua_zh" }
@ -656,9 +666,9 @@ function RewardItemPopup:OnClose()
compShowType = 0
if func and not isPopGetSSR then
if fightConFigData and fightConFigData.PicShow == 1 and FightPointPassManager.isOpenNewChapter then
func(isBackBattle)
func(isBackBattle,isFightNext)
else
func(isBackBattle)
func(isBackBattle,isFightNext)
end
end