|
@@ -127,15 +127,35 @@ namespace GameLogic.Bag
|
|
|
ItemInfo item = GetItemInfo(itemId);
|
|
|
return AddItem(item, count);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 添加道具,最后都走这里
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="item"></param>
|
|
|
+ /// <param name="count"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ private bool AddItem(ItemInfo item, long count)
|
|
|
+ {
|
|
|
+ if (item.config.ID <= 0 && string.IsNullOrEmpty(item.guid))
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ item.count += count;
|
|
|
+ EventManager.Instance.Dispatch(CustomEventType.ItemUpdate, new ItemUpdateData() {ItemInfo = item});
|
|
|
+
|
|
|
+ AccountFileInfo.Instance.SaveItemData(item);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 添加装备道具
|
|
|
/// </summary>
|
|
|
/// <param name="item"></param>
|
|
|
public void AddEquipmentItem(ItemInfo item)
|
|
|
{
|
|
|
+ long count = item.count.Value;
|
|
|
ItemInfo eqItemInfo = GetItemInfoWithGuid(item);
|
|
|
- AddItem(eqItemInfo, item.count.Value);
|
|
|
+ AddItem(eqItemInfo, count);
|
|
|
}
|
|
|
|
|
|
public ItemInfo GetItemInfoWithGuid(ItemInfo itemInfo)
|
|
@@ -151,36 +171,15 @@ namespace GameLogic.Bag
|
|
|
|
|
|
if (!string.IsNullOrEmpty(itemInfo.guid))
|
|
|
{
|
|
|
+ //这里要设成0是因为,装备已经掉出来了,有了数量,第一次进背包时,先把数量去掉(否则会掉一个得2个)
|
|
|
+ //接下来会加回去,看后续代码。
|
|
|
+ itemInfo.count.Value = 0;
|
|
|
m_bagList.Add(itemInfo);
|
|
|
}
|
|
|
return itemInfo;
|
|
|
}
|
|
|
|
|
|
|
|
|
- /// <summary>
|
|
|
- /// 添加道具,最后都走这里
|
|
|
- /// </summary>
|
|
|
- /// <param name="item"></param>
|
|
|
- /// <param name="count"></param>
|
|
|
- /// <returns></returns>
|
|
|
- private bool AddItem(ItemInfo item, long count)
|
|
|
- {
|
|
|
- if (item.config.ID <= 0 && string.IsNullOrEmpty(item.guid))
|
|
|
- {
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- // if (!string.IsNullOrEmpty(item.guid))
|
|
|
- // {
|
|
|
- //
|
|
|
- // }
|
|
|
-
|
|
|
- item.count += count;
|
|
|
- EventManager.Instance.Dispatch(CustomEventType.ItemUpdate, new ItemUpdateData() {ItemInfo = item});
|
|
|
- AccountFileInfo.Instance.SaveItemData(item);
|
|
|
- return true;
|
|
|
- }
|
|
|
-
|
|
|
/// <summary>
|
|
|
/// 扣除道具,最后都这里
|
|
|
/// </summary>
|
|
@@ -222,7 +221,7 @@ namespace GameLogic.Bag
|
|
|
for (int i = 0; i < m_bagList.Count; i++)
|
|
|
{
|
|
|
ItemInfo item = m_bagList[i];
|
|
|
- if (item.ID == itemId)
|
|
|
+ if (item.itemID == itemId)
|
|
|
{
|
|
|
return item;
|
|
|
}
|