From f4a702e212d1853735f8dae399da69d23bfa510e Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期四, 26 三月 2026 18:16:16 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into h5version
---
Main/Component/UI/Common/PopupWindowsProcessor.cs | 31 ++++++++++++++++++++++++++++++-
1 files changed, 30 insertions(+), 1 deletions(-)
diff --git a/Main/Component/UI/Common/PopupWindowsProcessor.cs b/Main/Component/UI/Common/PopupWindowsProcessor.cs
index 049e3a4..ac50586 100644
--- a/Main/Component/UI/Common/PopupWindowsProcessor.cs
+++ b/Main/Component/UI/Common/PopupWindowsProcessor.cs
@@ -44,7 +44,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>
--
Gitblit v1.8.0