From 03deb40d55ab884159d9fb8e3b99d6b403b3088d Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期二, 17 三月 2026 21:49:06 +0800
Subject: [PATCH] 492 武将登场-客户端 支持跳转时装商店和时装特卖

---
 Main/System/UIBase/UIJumpManager.cs       |   42 +++++++++++++++++----
 Main/System/HeroDebut/HeroDebutManager.cs |   20 ++++++++++
 2 files changed, 54 insertions(+), 8 deletions(-)

diff --git a/Main/System/HeroDebut/HeroDebutManager.cs b/Main/System/HeroDebut/HeroDebutManager.cs
index 08fe78f..8179b82 100644
--- a/Main/System/HeroDebut/HeroDebutManager.cs
+++ b/Main/System/HeroDebut/HeroDebutManager.cs
@@ -859,6 +859,26 @@
         return ctgDict;
     }
 
+    public bool HasItemInSkinCTGIDList(int cfgID, int findItemID)
+    {
+        var config = ActHeroAppearConfig.Get(cfgID);
+        if (config == null || config.SkinCTGIDList == null) return false;
+
+        for (int i = 0; i < config.SkinCTGIDList.Length; i++)
+        {
+            var ctgID = config.SkinCTGIDList[i];
+            var ctgConfig = CTGConfig.Get(ctgID);
+            if (ctgConfig == null || ctgConfig.GainItemList == null) continue;
+
+            for (int j = 0; j < ctgConfig.GainItemList.Length; j++)
+            {
+                var itemID = ctgConfig.GainItemList[j][0];
+                if (itemID == findItemID) return true;
+            }
+        }
+        return false;
+    }
+
 
     public List<int> GetSkinIDList(int cfgID, int heroID, int mainSkinID)
     {
diff --git a/Main/System/UIBase/UIJumpManager.cs b/Main/System/UIBase/UIJumpManager.cs
index 125ea09..ec55d7e 100644
--- a/Main/System/UIBase/UIJumpManager.cs
+++ b/Main/System/UIBase/UIJumpManager.cs
@@ -49,15 +49,18 @@
 
 		if (config.WinName == "StoreBaseWin")
 		{
-			//鎸囧畾鍟嗗搧
-			StoreModel.Instance.jumpShopID = int.Parse(config.Extra);
-			if (StoreModel.Instance.jumpShopID == 0)
+			if (int.TryParse(config.Extra, out int result))
 			{
-				StoreModel.Instance.selectStoreFuncType = StoreFunc.Normal;
-			}
-			else
-			{
-				StoreModel.Instance.selectStoreFuncType = (StoreFunc)StoreConfig.Get(StoreModel.Instance.jumpShopID).ShopType;
+				//鎸囧畾鍟嗗搧
+				StoreModel.Instance.jumpShopID = result;
+				if (StoreModel.Instance.jumpShopID == 0)
+				{
+					StoreModel.Instance.selectStoreFuncType = StoreFunc.Normal;
+				}
+				else
+				{
+					StoreModel.Instance.selectStoreFuncType = (StoreFunc)StoreConfig.Get(StoreModel.Instance.jumpShopID).ShopType;
+				}
 			}
 		}
 		else if (config.WinName == "HeroDebutCallWin")
@@ -71,6 +74,29 @@
 			if (actHeroAppearConfig.ExShopCostItemID != int.Parse(config.Extra))
 			{
 				SysNotifyMgr.Instance.ShowTip("ActivityNoOpen");
+				return;
+			}
+			else
+			{
+				if (UIManager.Instance.IsOpened<HeroDebutCallWin>())
+				{
+					UIManager.Instance.CloseWindow<HeroDebutCallWin>();
+					UIManager.Instance.OpenWindow<HeroDebutCallWin>();
+				}
+			}
+		}
+		else if (config.WinName == "HeroDebutSkinWin")
+		{
+			var heroDebutAct = HeroDebutManager.Instance.GetOperationHeroAppearInfo();
+			if (heroDebutAct == null) return;
+
+			ActHeroAppearConfig actHeroAppearConfig = ActHeroAppearConfig.Get(heroDebutAct.CfgID);
+			if (actHeroAppearConfig == null) return;
+
+			if (!HeroDebutManager.Instance.HasItemInSkinCTGIDList(heroDebutAct.CfgID, int.Parse(config.Extra)))
+			{
+				SysNotifyMgr.Instance.ShowTip("ActivityNoOpen");
+				return;
 			}
 			else
 			{

--
Gitblit v1.8.0