From 3cb0cb29f9bf4f53a52061a8fdfd6edd2f3b3680 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期四, 14 三月 2019 00:02:15 +0800
Subject: [PATCH] 3335 删除大量的装备绑定相关逻辑。

---
 Lua/Gen/BlastFurnaceModelWrap.cs         |    6 ---
 System/BlastFurnace/BlastFurnaceModel.cs |   88 ++++++++++++-------------------------------
 System/Chat/ChatCtrl.cs                  |    2 -
 System/Message/RichTableEvent.cs         |    1 
 4 files changed, 25 insertions(+), 72 deletions(-)

diff --git a/Lua/Gen/BlastFurnaceModelWrap.cs b/Lua/Gen/BlastFurnaceModelWrap.cs
index b706783..1299ba0 100644
--- a/Lua/Gen/BlastFurnaceModelWrap.cs
+++ b/Lua/Gen/BlastFurnaceModelWrap.cs
@@ -1414,12 +1414,6 @@
             
                 
                 {
-                    System.Collections.Generic.List<int> _indexs = (System.Collections.Generic.List<int>)translator.GetObject(L, 2, typeof(System.Collections.Generic.List<int>));
-                    System.Collections.Generic.List<int> _nums = (System.Collections.Generic.List<int>)translator.GetObject(L, 3, typeof(System.Collections.Generic.List<int>));
-                    
-                    gen_to_be_invoked.SendRecycleDrugQuest( _indexs, _nums );
-                    
-                    
                     
                     return 0;
                 }
diff --git a/System/BlastFurnace/BlastFurnaceModel.cs b/System/BlastFurnace/BlastFurnaceModel.cs
index c41bd51..ce17248 100644
--- a/System/BlastFurnace/BlastFurnaceModel.cs
+++ b/System/BlastFurnace/BlastFurnaceModel.cs
@@ -962,76 +962,33 @@
               {
                   if (isOk)
                   {
-                      int noBindNum = 0;
-                      List<int> indexs = null;
-                      List<int> nums = null;
-                      if (CheckIsNoBindDrug(itemId, out noBindNum, out indexs, out nums))
-                      {
-                          ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("BlastFurnace115", noBindNum, UIHelper.AppendStringColor(itemConfig.ItemColor, itemConfig.ItemName)),
-                              (bool isRecycle) =>
-                              {
-                                  if (isRecycle)
-                                  {
-                                      SendRecycleDrugQuest(indexs, nums);
-                                  }
-                              });
-                      }
-                      else
-                      {
-                          SendRecycleDrugQuest(indexs, nums);
-                      }
+                      var drugs = GetDrugs(itemId);
+                      SendRecycleDrugQuest(drugs);
                   }
                   isOpenPrompting = !isToggle;
               });
         }
         else
         {
-            int noBindNum = 0;
-            List<int> indexs = null;
-            List<int> nums = null;
-            if (CheckIsNoBindDrug(itemId, out noBindNum, out indexs, out nums))
-            {
-                ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("BlastFurnace115", noBindNum, UIHelper.AppendStringColor(itemConfig.ItemColor, itemConfig.ItemName)),
-                    (bool isRecycle) =>
-                    {
-                        if (isRecycle)
-                        {
-                            SendRecycleDrugQuest(indexs, nums);
-                        }
-                    });
-            }
-            else
-            {
-                SendRecycleDrugQuest(indexs, nums);
-            }
+            var drugs = GetDrugs(itemId);
+            SendRecycleDrugQuest(drugs);
         }
-
     }
 
-    private bool CheckIsNoBindDrug(int itemId, out int nobindNums, out List<int> indexs, out List<int> nums)
+    private Dictionary<int, int> GetDrugs(int itemId)
     {
-        indexs = new List<int>();
-        nums = new List<int>();
-        nobindNums = 0;
-        SinglePack singlePack = playerPack.GetSinglePack(PackType.Item);
-        if (singlePack == null) return false;
-
-        var items = singlePack.GetItemsById(itemId);
-        for (int i = 0; i < items.Count; i++)
+        var drugs = new Dictionary<int, int>();
+        var items = playerPack.GetItemsById(PackType.Item, itemId);
+        if (!items.IsNullOrEmpty())
         {
-            indexs.Add(items[i].itemPlace);
-            nums.Add(items[i].count);
-            if (items[i].isBind == 0)
+            for (int i = 0; i < items.Count; i++)
             {
-                nobindNums += items[i].count;
+                var item = items[i];
+                drugs[item.itemPlace] = item.count;
             }
         }
-        if (nobindNums > 0)
-        {
-            return true;
-        }
 
-        return false;
+        return drugs;
     }
 
     /// <summary>
@@ -1184,20 +1141,25 @@
             }
         }
         #endregion
-        SendRecycleDrugQuest(recycleDanDict.Keys.ToList(), recycleDanDict.Values.ToList());
+
+        SendRecycleDrugQuest(recycleDanDict);
     }
 
-    public void SendRecycleDrugQuest(List<int> indexs, List<int> nums)
+    public void SendRecycleDrugQuest(Dictionary<int, int> drugs)
     {
         var recycleAttrFruit = new CA32A_tagCMRecycleAttrFruit();
-        recycleAttrFruit.IndexCount = (byte)indexs.Count;
-        byte[] indexByte = new byte[indexs.Count];
-        ushort[] numShort = new ushort[indexs.Count];
-        for (int i = 0; i < indexs.Count; i++)
+        recycleAttrFruit.IndexCount = (byte)drugs.Count;
+        byte[] indexByte = new byte[drugs.Count];
+        ushort[] numShort = new ushort[drugs.Count];
+
+        var index = 0;
+        foreach (var drug in drugs)
         {
-            indexByte[i] = (byte)indexs[i];
-            numShort[i] = (ushort)nums[i];
+            indexByte[index] = (byte)drug.Key;
+            numShort[index] = (ushort)drug.Value;
+            index++;
         }
+
         recycleAttrFruit.IndexList = indexByte;
         recycleAttrFruit.RecycleCountList = numShort;
         GameNetSystem.Instance.SendInfo(recycleAttrFruit);
diff --git a/System/Chat/ChatCtrl.cs b/System/Chat/ChatCtrl.cs
index aaf9acd..34aafd9 100644
--- a/System/Chat/ChatCtrl.cs
+++ b/System/Chat/ChatCtrl.cs
@@ -867,7 +867,6 @@
                     var chatSendItem = new ChatSendItem()
                     {
                         itemId = (int)itemPlaceList[i].itemId,
-                        isBind = (int)itemPlaceList[i].isBind,
                         count = (int)itemPlaceList[i].count,
                         equipGems = equipGems,
                         useData = itemPlaceList[i].itemInfo.userData,
@@ -1144,7 +1143,6 @@
     public struct ChatSendItem
     {
         public int itemId;
-        public int isBind;
         public int count;
         public int[] equipGems;
         public string useData;
diff --git a/System/Message/RichTableEvent.cs b/System/Message/RichTableEvent.cs
index 89ad8da..ad9730c 100644
--- a/System/Message/RichTableEvent.cs
+++ b/System/Message/RichTableEvent.cs
@@ -502,7 +502,6 @@
             var chatSendItem = LitJson.JsonMapper.ToObject<ChatCtrl.ChatSendItem>(hrefInfo.mSplits["chatsenditem"]);
             itemId = chatSendItem.itemId;
             itemCount = chatSendItem.count;
-            isBind = chatSendItem.isBind;
             stone = chatSendItem.equipGems;
             if (!string.IsNullOrEmpty(chatSendItem.useData))
             {

--
Gitblit v1.8.0