ItemInfo.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using Core.Utility;
  2. using Excel2Json;
  3. using Fort23.UTool;
  4. using GameLogic.Equipment;
  5. namespace GameLogic.Bag
  6. {
  7. public class ItemInfo
  8. {
  9. public readonly int itemID;
  10. // public int itemID;
  11. public string guid;
  12. public EncryptionLong count;
  13. public ItemConfig config;
  14. /// <summary>
  15. /// 非道具时会被初始话,比如掉落的的装备等级,稀有度等等
  16. /// </summary>
  17. public DropItemConfig dropItemConfig;
  18. public EquipmentInfo eqInfo;
  19. public ItemInfo(int itemID, long count = 0)
  20. {
  21. this.itemID = itemID;
  22. guid = itemID.ToString();
  23. this.count = (EncryptionLong)count;
  24. config = ConfigComponent.Instance.Get<ItemConfig>(itemID);
  25. }
  26. public ItemInfo(DropItemConfig dropItemConfig)
  27. {
  28. this.dropItemConfig = dropItemConfig;
  29. }
  30. public ItemInfo(AccountFileInfo.ItemData itemData)
  31. {
  32. itemID = itemData.itemId;
  33. count = (EncryptionLong)itemData.itemCount;
  34. config = ConfigComponent.Instance.Get<ItemConfig>(itemID);
  35. guid = itemData.guid;
  36. if (itemData.eqData != null && itemData.eqData.zyEqId != 0)
  37. {
  38. eqInfo = new EquipmentInfo(itemData.eqData, this);
  39. //TODO 如果数量=0,且是穿了的装备,设置数量=1(仅初始化生效),感觉不是很好,看后面有新思路没
  40. if (count.Value == 0 && eqInfo.isWear)
  41. {
  42. count.Value = 1;
  43. }
  44. }
  45. }
  46. }
  47. }