From 2336d5e71a6ed9c00f9a86c29d7aa33b9a1e38d5 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期三, 23 七月 2025 10:44:27 +0800
Subject: [PATCH] 122 子 【武将】武将系统 / 【武将】武将系统-客户端 - 武将变化

---
 Main/System/KnapSack/PackManager.cs |   21 ++++++++++++++++-----
 Main/System/Hero/HeroManager.cs     |    9 +++++----
 2 files changed, 21 insertions(+), 9 deletions(-)

diff --git a/Main/System/Hero/HeroManager.cs b/Main/System/Hero/HeroManager.cs
index 73cf424..b6b3805 100644
--- a/Main/System/Hero/HeroManager.cs
+++ b/Main/System/Hero/HeroManager.cs
@@ -27,7 +27,7 @@
         base.Init();
 
         PackManager.Instance.refrechPackEvent += refrechPackEvent;
-        PackManager.Instance.CreateItemEvent += CreateHero;
+        PackManager.Instance.ChangeItemEvent += ChangeHero;
         PackManager.Instance.DeleteItemEvent += DeleteHero;
         DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
     }
@@ -36,7 +36,7 @@
     {
         base.Release();
         PackManager.Instance.refrechPackEvent -= refrechPackEvent;
-        PackManager.Instance.CreateItemEvent -= CreateHero;
+        PackManager.Instance.ChangeItemEvent -= ChangeHero;
         PackManager.Instance.DeleteItemEvent -= DeleteHero;
         DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
     }
@@ -55,7 +55,8 @@
         }
     }
 
-    void CreateHero(PackType packType, string guid)
+    // isCreate bool锛歵rue浠h〃鍒涘缓 false 鍒锋柊瑙﹀彂
+    void ChangeHero(PackType packType, string guid, bool isCreate)
     {
         if (packType == PackType.Hero)
         {
@@ -109,7 +110,7 @@
 
         foreach (ItemModel hero in heroes.Values)
         {
-            CreateHero(hero.packType, hero.guid);
+            ChangeHero(hero.packType, hero.guid, true);
         }
     }
 
diff --git a/Main/System/KnapSack/PackManager.cs b/Main/System/KnapSack/PackManager.cs
index a239309..8651002 100644
--- a/Main/System/KnapSack/PackManager.cs
+++ b/Main/System/KnapSack/PackManager.cs
@@ -161,7 +161,7 @@
     }
 
     public event Action<PackType> refrechPackEvent; //鍒锋柊鏁翠釜鑳屽寘鏁版嵁
-    public event Action<PackType, string> CreateItemEvent; //寰楀埌鏂扮墿鍝侊紝鍙兘鎵归噺鍒涘缓娉ㄦ剰鏁堢巼
+    public event Action<PackType, string, bool> ChangeItemEvent; //鐗╁搧鍒锋柊锛屽彲鑳芥壒閲忓垱寤烘敞鎰忔晥鐜�; bool锛歵rue浠h〃鍒涘缓 false 鍒锋柊
     public event Action<PackType, string> DeleteItemEvent; //鍒犻櫎鐗╁搧锛屽彲鑳芥壒閲忓垹闄ゆ敞鎰忔晥鐜�
     public event Action<PackType, int, int> refreshItemCountEvent; // 鎱庣敤浼氬崱锛堝崟涓級鏈�鏂扮墿鍝佹暟閲忓埛鏂�(鏃х殑寮冪敤)鍦ㄥ緱鍒版柊鐗╁搧銆佺墿鍝佹暟閲忕殑鏀瑰彉锛屾竻鐞嗚鐗╁搧鏃跺潎浼氳Е鍙� int 浣嶇疆绱㈠紩 int鐗╁搧id
     public event Action<PackType> gridRefreshEvent; //鑳屽寘绌烘牸鍒锋柊
@@ -429,10 +429,7 @@
     {
         itemGUIDDict[itemModel.guid] = itemModel;
         GetItemEventCtrl(itemModel, showNewItem);
-        if (showNewItem)
-        {
-            CreateItemEvent?.Invoke(itemModel.packType, itemModel.guid);
-        }
+        ChangeItemEvent?.Invoke(itemModel.packType, itemModel.guid, showNewItem);
     }
 
     void DeleteItemDictByGUID(PackType type, string guid)
@@ -696,6 +693,20 @@
         return guid;
     }
 
+    //閫氳繃index鎵綠UID
+    public string GetItemGUIDByIndex(PackType packType, int index)
+    {
+        string guid = string.Empty;
+        if (playerPackDict.ContainsKey(packType))
+        {
+            var items = playerPackDict[packType].GetAllItems();
+            guid = items[index].guid;
+        }
+
+        return guid;
+    }
+
+
     /// <summary>
     /// 寰楀埌ID鐩稿悓鐨勭墿鍝佹暟閲�
     /// </summary>

--
Gitblit v1.8.0