diff --git a/Assets/ManagedResources/~Lua/Framework/Manager/UIManager.lua b/Assets/ManagedResources/~Lua/Framework/Manager/UIManager.lua index 5484d2b9b0..cd4f16dd4e 100644 --- a/Assets/ManagedResources/~Lua/Framework/Manager/UIManager.lua +++ b/Assets/ManagedResources/~Lua/Framework/Manager/UIManager.lua @@ -708,6 +708,22 @@ function UIManager.CloseAll(isDestroy) delayDestoryList = {} end +function UIManager.CloseAllStack(isDestroy) + local panel = nil + while(#this.stackList~=0) + do + panel = this.stackList[1] + panel.gameObject:SetActive(false) + panel:CloseUI() + if(isDestroy) then + this.DestroyPanel(panel) + end + table.remove(this.stackList,1) + this.openedList[panel.uiConfig.id] = nil + delayDestoryList[panel.uiConfig.id] = nil + end +end + --延时销毁界面,避免频繁的GC开销 function UIManager.DelayDestroyPanel(panel) local item = delayDestoryList[panel.uiConfig.id] diff --git a/Assets/ManagedResources/~Lua/Modules/Carbon/EndLessCarbonPanel.lua b/Assets/ManagedResources/~Lua/Modules/Carbon/EndLessCarbonPanel.lua index 424b91bf3e..1ce9caa36e 100644 --- a/Assets/ManagedResources/~Lua/Modules/Carbon/EndLessCarbonPanel.lua +++ b/Assets/ManagedResources/~Lua/Modules/Carbon/EndLessCarbonPanel.lua @@ -58,11 +58,15 @@ function EndLessCarbonPanel:BindEvent() -- 如果只是关闭自己,则会打开地图界面,不会打开副本选择界面,导致报错 PlayerManager.carbonType = 1 UIManager.OpenPanel(UIName.MainPanel) - - --检测到上一个面板打开之后,关闭自己 - CallBackOnPanelOpen(UIName.CarbonTypePanelV2, function() - UIManager.ClosePanel(UIName.EndLessCarbonPanel) - end) + UIManager.OpenPanel(UIName.CarbonTypePanelV2) + UIManager.OpenPanel(UIName.EndLessCarbonPanel) + -- CallBackOnPanelOpen(UIName.MainPanel, function() + -- --检测到上一个面板打开之后,关闭自己 + -- CallBackOnPanelOpen(UIName.CarbonTypePanelV2, function() + -- UIManager.ClosePanel(UIName.EndLessCarbonPanel) + -- end) + -- UIManager.OpenPanel(UIName.CarbonTypePanelV2) + -- end) CarbonManager.difficulty = 0 end) diff --git a/Assets/ManagedResources/~Lua/Modules/Map/MapPanel.lua b/Assets/ManagedResources/~Lua/Modules/Map/MapPanel.lua index a5240f23f1..8197266a41 100644 --- a/Assets/ManagedResources/~Lua/Modules/Map/MapPanel.lua +++ b/Assets/ManagedResources/~Lua/Modules/Map/MapPanel.lua @@ -513,7 +513,10 @@ function this.BackHome() Game.GlobalEvent:AddEvent(GameEvent.UI.OnClose, triggerCallBack) -- 清空一下副本任务 MissionManager.carBonMission = {} - SwitchPanel.OpenPanel(UIName.MainPanel) + SwitchPanel.ClosePanel(UIName.MainPanel, function() + UIManager.CloseAllStack(true) + UIManager.OpenPanel(UIName.MainPanel) + end) poolManager:ClearPool() end diff --git a/Assets/ManagedResources/~Lua/Modules/Message/PopupTipPanel.lua b/Assets/ManagedResources/~Lua/Modules/Message/PopupTipPanel.lua index c6722e4080..4ecd18c717 100644 --- a/Assets/ManagedResources/~Lua/Modules/Message/PopupTipPanel.lua +++ b/Assets/ManagedResources/~Lua/Modules/Message/PopupTipPanel.lua @@ -24,6 +24,11 @@ function PopupTipPanel:RemoveListener() end +function PopupTipPanel:OnDestroy() + itemListPrefab:Clear() + colorItemPrefab:Clear() +end + --关闭弹出信息 function PopupTipPanel.CloseTip() PopupTipPanel:ClosePanel() diff --git a/Assets/ManagedResources/~Lua/Modules/Player/JumpManager.lua b/Assets/ManagedResources/~Lua/Modules/Player/JumpManager.lua index 7fe0598e07..87f6a80a0d 100644 --- a/Assets/ManagedResources/~Lua/Modules/Player/JumpManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Player/JumpManager.lua @@ -212,13 +212,13 @@ local jumpDic = { end end, [JumpType.MemberCamp] = function()--成员 - UIManager.CloseAll(true) + UIManager.CloseAllStack(true) HeroManager.heroListPanelSortID = 1 HeroManager.heroListPanelProID = 0 UIManager.OpenPanel(UIName.RoleListPanel) end, [JumpType.StoreHouse] = function(data)--仓库 - UIManager.CloseAll(true) + UIManager.CloseAllStack(true) if data then local openPanle = UIManager.OpenPanel(UIName.BagPanel,data[1]) if openPanle then @@ -243,7 +243,7 @@ local jumpDic = { end, [JumpType.Level] = function(data)--关卡 - UIManager.CloseAll(true) + UIManager.CloseAllStack(true) local openPanle openPanle = UIManager.OpenPanel(UIName.FightPointPassMainPanel) if openPanle then @@ -327,7 +327,7 @@ local jumpDic = { end end, [JumpType.Privilege] = function(data)--特权 - UIManager.CloseAll(true) + UIManager.CloseAllStack(true) local openPanle = UIManager.OpenPanel(UIName.VipPanelV2) if openPanle and data and data[1] < 0 then --引导光圈 -1 下边条目领取按钮 @@ -422,7 +422,7 @@ local jumpDic = { UIManager.OpenPanel(UIName.GuildFindPopup) else - UIManager.CloseAll(true) + UIManager.CloseAllStack(true) if UIManager.IsOpen(UIName.GuildMainCityPanel) then UIManager.OpenPanel(UIName.GuildAidMainPopup,data[1]) else