lcy
2 天以前 a3b07cc8650d4907794d1e595a648c832be61ee2
Main/Component/UI/Common/PopupWindowsProcessor.cs
@@ -43,7 +43,36 @@
        }
        popupWindowQueue.Add(popupWindow);
        popupWindowQueue.Sort((x, y) => y.isNeedHomeWin.CompareTo(x.isNeedHomeWin));
        popupWindowQueue.Sort((x, y) =>
        {
            // 1. 首先按 isNeedHomeWin 排序 (true 排在前面)
            int homeWinCompare = y.isNeedHomeWin.CompareTo(x.isNeedHomeWin);
            if (homeWinCompare != 0)
                return homeWinCompare;
            // 2. 获取各自的 WinOrder (通过 WinName 查找配置表)
            int xOrder = GetWinOrder(x.window);
            int yOrder = GetWinOrder(y.window);
            int orderCompare = xOrder.CompareTo(yOrder);
            if (orderCompare != 0)
                return orderCompare;
            // 3. WinOrder 相同时,按 ID 排序 (ID 小的排前面)
            return x.functionId.CompareTo(y.functionId);
        });
    }
    private int GetWinOrder(string winName)
    {
        var allConfigs = PopWinOrderConfig.GetValues();
        foreach (var config in allConfigs)
        {
            if (config.WinName == winName)
            {
                return config.WinOrder;
            }
        }
        return int.MinValue;
    }
    /// <summary>