lcy
3 天以前 9c6df6b2073b31cb4165fc5ab3f4374a5cc93a8a
386 修复不同战场挑战的时候,在当前战场不弹自己的结算bug
1个文件已修改
24 ■■■■ 已修改文件
Main/Component/UI/Common/PopupWindowsProcessor.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Component/UI/Common/PopupWindowsProcessor.cs
@@ -118,16 +118,30 @@
        // 只在“没有战斗”和“主线战斗”和“自己的战场”时允许弹窗
        string activeBattleName = BattleManager.Instance.GetActiveBattleName();
        if (activeBattleName != "" && activeBattleName != "StoryBattleField" && activeBattleName != popupWindowQueue[0].battleFieldName)
        // 查找队列中第一个可以弹出的弹窗
        PopupWindow targetPopup = null;
        int targetIndex = -1;
        for (int i = 0; i < popupWindowQueue.Count; i++)
        {
            var popup = popupWindowQueue[i];
            if (activeBattleName == "" || activeBattleName == "StoryBattleField" || activeBattleName == popup.battleFieldName)
            {
                targetPopup = popup;
                targetIndex = i;
                break;
            }
        }
        if (targetPopup == null)
            return;
        if (UIManager.Instance.IsOpened(popupWindowQueue[0].window))
        if (UIManager.Instance.IsOpened(targetPopup.window))
        {
            //当前模式可以打开多个相同窗口,增加防范
            return;
        }
        if (UIManager.Instance.ExistAnyFullScreenOrMaskWin(popupWindowQueue[0].window))
        if (UIManager.Instance.ExistAnyFullScreenOrMaskWin(targetPopup.window))
            return;
        if (currentWindow != null && currentWindow.window != null)
@@ -138,8 +152,8 @@
                return;
        }
        currentWindow = popupWindowQueue[0];
        popupWindowQueue.RemoveAt(0);
        currentWindow = targetPopup;
        popupWindowQueue.RemoveAt(targetIndex);
        UIManager.Instance.OpenWindow(currentWindow.window, currentWindow.functionId);
        Debug.LogFormat("推送窗口 " + currentWindow.window);