From 7bd85eb8d0b9664f4645534b42c82ab0f32754d3 Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期五, 15 八月 2025 16:30:24 +0800 Subject: [PATCH] 50 【主界面】核心主体 - 装备部分掉落分解穿戴 --- Main/System/KnapSack/PackManager.cs | 38 ++++++++++++++++++-------------------- 1 files changed, 18 insertions(+), 20 deletions(-) diff --git a/Main/System/KnapSack/PackManager.cs b/Main/System/KnapSack/PackManager.cs index 568630d..b351c6e 100644 --- a/Main/System/KnapSack/PackManager.cs +++ b/Main/System/KnapSack/PackManager.cs @@ -14,7 +14,7 @@ public event Action<PackType, string, bool> ChangeItemEvent; // 鑳屽寘绫诲瀷锛孏UID锛屾槸鍚﹀垱寤� //鍒犻櫎鐗╁搧锛屽彲鑳芥壒閲忓垹闄ゆ敞鎰忔晥鐜� - public event Action<PackType, string> DeleteItemEvent; // 鑳屽寘绫诲瀷锛孏UID + public event Action<PackType, string, int, int, int> DeleteItemEvent; // 鑳屽寘绫诲瀷锛孏UID, 鐗╁搧ID锛岀储寮�, 鍒犻櫎鍘熷洜 // 鍗曠墿鍝佸埛鏂� 鍦ㄥ緱鍒版柊鐗╁搧銆佺墿鍝佹暟閲忕殑鏀瑰彉锛屾竻鐞嗚鐗╁搧鏃跺潎浼氳Е鍙� ; 浣�0725鏁翠釜鑳屽寘鍒锋柊涓嶈Е鍙戯紝濡傛灉鏈夐渶瑕佸崟鐙暟閲忓埛鏂颁簨浠跺彟澶栧鐞� // 瑙﹀彂姣旇緝棰戠箒锛岀晫闈娇鐢ㄦ椂鍙互鍋氫釜姹囨�诲悗寤惰繜鍒锋柊 @@ -25,8 +25,6 @@ public event Action<int> refreshItemDayUseCountEvent; //鍒锋柊鐗╁搧姣忔棩浣跨敤鏁伴噺 public event Action<int> refreshItemSumUseCountEvent; //鍒锋柊鐗╁搧鎬讳娇鐢ㄦ暟閲� public event Action<PackType, string, bool> RefreshItemLockEvent; //鐗╁搧閿佸畾鍒锋柊 鑳屽寘绫诲瀷锛実uid锛岄攣瀹氱姸鎬� - - public bool isPlayBetterEquipEffect { get; set; } //鏁寸悊鑳屽寘鏃舵槸鍚︽挱鏀剧壒鏁� private Dictionary<PackType, SinglePack> playerPackDict = new Dictionary<PackType, SinglePack>(); @@ -111,7 +109,6 @@ itemSumUseCntDict.Clear(); itemGUIDDict.Clear(); PackGirdServerBuyCountDict.Clear(); - isPlayBetterEquipEffect = false; } @@ -181,10 +178,6 @@ playerPackDict.Add(packType, new SinglePack(packType)); } - if (isPlayBetterEquipEffect) - { - ItemLogicUtility.Instance.ClearSortedBetterEquip(); - } for (int i = 0; i < packInfo.ItemCount; i++) { @@ -192,10 +185,7 @@ var item = playerPackDict[packType].UpdateItem(itemInfo); AddItemGUIDDict(item, true); - if (isPlayBetterEquipEffect) - { - ItemLogicUtility.Instance.SetBagSortBetterEquipList(GetItemByGuid(itemInfo.guid)); - } + } if (refrechPackEvent != null) @@ -208,7 +198,6 @@ public void UpdateItem(H0704_tagRolePackRefresh serverItem) { - isPlayBetterEquipEffect = false; SetLookIndex(null); PackType type = (PackType)serverItem.PackType; if (!playerPackDict.ContainsKey(type)) @@ -321,7 +310,6 @@ public void RefreshItemCount(H0707_tagItemCountRefresh refresh) { SetLookIndex(null); - isPlayBetterEquipEffect = false; PackType type = (PackType)refresh.PackType; SinglePack singlePack = null; playerPackDict.TryGetValue(type, out singlePack); @@ -367,7 +355,6 @@ public void RemoveItem(H0709_tagClearItem clearItem) { - isPlayBetterEquipEffect = false; SetLookIndex(null); PackType type = (PackType)clearItem.PackType; @@ -385,9 +372,9 @@ guid = itemModel.guid; int itemId = itemModel.itemId; - DeleteItemDictByGUID(type, itemModel.guid); - singlePack.RemoveItem(clearItem.ItemIndex); + DeleteItemDictByGUID(type, itemModel.guid,itemId, clearItem.ItemIndex, clearItem.ClearType); + if (RefreshItemEvent != null) { RefreshItemEvent(type, clearItem.ItemIndex, itemId); @@ -411,7 +398,6 @@ public void UseItemSuccess(H0706_tagUseItemSuccess success) { - isPlayBetterEquipEffect = false; SetLookIndex(null); if (success.PlayerID != PlayerDatas.Instance.baseData.PlayerID) { @@ -441,14 +427,14 @@ ChangeItemEvent?.Invoke(itemModel.packType, itemModel.guid, showNewItem); } - void DeleteItemDictByGUID(PackType type, string guid) + void DeleteItemDictByGUID(PackType type, string guid, int itemID = 0, int index = 0, int clearType = -1) { if (itemGUIDDict.ContainsKey(guid)) { if (itemGUIDDict[guid].packType == type) { itemGUIDDict.Remove(guid); - DeleteItemEvent?.Invoke(type, guid); + DeleteItemEvent?.Invoke(type, guid, itemID, index, clearType); } } } @@ -740,6 +726,18 @@ } } + public List<ItemModel> GetItems(PackType packType) + { + if (playerPackDict.ContainsKey(packType)) + { + return playerPackDict[packType].GetItems(); + } + else + { + return null; + } + } + //閫氳繃id鎵剧墿鍝侊紝娉ㄦ剰妫�鏌ユ槸鍚︽寚瀹氳儗鍖� public string GetItemGUIDByID(int itemId, bool includeAuction = true, PackType packType = PackType.Item) { -- Gitblit v1.8.0