ItemInfo.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. }
  40. }
  41. public AccountFileInfo.ItemData ToItemData()
  42. {
  43. AccountFileInfo.ItemData itemData = new AccountFileInfo.ItemData(itemID, count.Value, guid);
  44. if (eqInfo != null)
  45. {
  46. itemData.eqData = eqInfo.ToData();
  47. }
  48. return itemData;
  49. }
  50. }
  51. }