From c6a7ac3739907e8bb7c751d408e227e19f246f49 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期五, 08 五月 2026 17:27:31 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into h5version

---
 Main/System/PhantasmPavilion/PhantasmPavilionUnlockButton.cs |   23 ++++++++---------------
 1 files changed, 8 insertions(+), 15 deletions(-)

diff --git a/Main/System/PhantasmPavilion/PhantasmPavilionUnlockButton.cs b/Main/System/PhantasmPavilion/PhantasmPavilionUnlockButton.cs
index 78d9b25..3b71802 100644
--- a/Main/System/PhantasmPavilion/PhantasmPavilionUnlockButton.cs
+++ b/Main/System/PhantasmPavilion/PhantasmPavilionUnlockButton.cs
@@ -24,31 +24,24 @@
                 int useCnt = manager.GetUnlockNeedCnt(type, id);
                 if (useCnt > hasCnt)
                 {
-                    if (!ItemConfig.HasKey(unlockValue))
-                        return;
+                    if (!ItemConfig.HasKey(unlockValue)) return;
                     string name = ItemConfig.Get(unlockValue).ItemName;
                     SysNotifyMgr.Instance.ShowTip("UnLockFail2", name);
                     return;
                 }
             }
-            else if (unlockWay == 3)
+            else if (unlockWay != 1) // 缁熶竴澶勭悊 3, 4, 5 浠ュ強鏈潵鑷畾涔夌殑绫诲瀷
             {
-                bool hasHero = HeroManager.Instance.HasHero(unlockValue);
-                if (!hasHero)
+                // UI 灞備笉鍐嶇‖缂栫爜鍚箟锛岀洿鎺ヨ皟鐢ㄥ熀浜� Type 鐨勬牎楠�
+                bool canUnlock = manager.CheckTableSpecificUnlock(type, unlockWay, unlockValue);
+                if (!canUnlock)
                 {
-                    SysNotifyMgr.Instance.ShowTip("UnLockFail1");
+                    // 杩欓噷缁熶竴澶嶇敤 UnLockFail1锛屾垨鏈潵鍦� CheckTableSpecificUnlock 涓繑鍥炴洿鍏蜂綋鐨勯敊璇灇涓�
+                    SysNotifyMgr.Instance.ShowTip("UnLockFail1"); 
                     return;
                 }
             }
-            else if (unlockWay == 4) // 鏂板锛氬鏋滄槸鐨偆瑙i攣
-            {
-                bool hasSkin = HeroUIManager.Instance.IsHeroSkinActive(HeroConfig.GetHeroIDBySkinID(unlockValue), unlockValue);
-                if (!hasSkin)
-                {
-                    SysNotifyMgr.Instance.ShowTip("UnLockFail1");
-                    return;
-                }
-            }
+            
             manager.SendOPPack(type, PhantasmPavilionOperation.Activate, (uint)id);
             SysNotifyMgr.Instance.ShowTip("UnLockSuccess");
         });

--
Gitblit v1.8.0