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