using Core.Utility; using Excel2Json; using Fort23.UTool; using GameLogic.Equipment; namespace GameLogic.Bag { public class ItemInfo { public readonly int itemID; // public int itemID; public string guid; public EncryptionLong count; public ItemConfig config; /// /// 非道具时会被初始话,比如掉落的的装备等级,稀有度等等 /// public DropItemConfig dropItemConfig; public EquipmentInfo eqInfo; public ItemInfo(int itemID, long count = 0) { this.itemID = itemID; guid = itemID.ToString(); this.count = (EncryptionLong)count; config = ConfigComponent.Instance.Get(itemID); } public ItemInfo(DropItemConfig dropItemConfig) { this.dropItemConfig = dropItemConfig; } public ItemInfo(AccountFileInfo.ItemData itemData) { itemID = itemData.itemId; count = (EncryptionLong)itemData.itemCount; config = ConfigComponent.Instance.Get(itemID); guid = itemData.guid; if (itemData.eqData != null && itemData.eqData.itemConfigID != 0) { eqInfo = new EquipmentInfo(itemData.eqData, this); } } public AccountFileInfo.ItemData ToItemData() { AccountFileInfo.ItemData itemData = new AccountFileInfo.ItemData(itemID, count.Value, guid); if (eqInfo != null) { itemData.eqData = eqInfo.ToData(); } return itemData; } } }