1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- 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;
- /// <summary>
- /// 非道具时会被初始话,比如掉落的的装备等级,稀有度等等
- /// </summary>
- 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<ItemConfig>(itemID);
- }
- public ItemInfo(DropItemConfig dropItemConfig)
- {
- this.dropItemConfig = dropItemConfig;
- }
- public ItemInfo(AccountFileInfo.ItemData itemData)
- {
- itemID = itemData.itemId;
- count = (EncryptionLong)itemData.itemCount;
- config = ConfigComponent.Instance.Get<ItemConfig>(itemID);
- guid = itemData.guid;
- if (itemData.eqData != null && itemData.eqData.zyEqId != 0)
- {
- eqInfo = new EquipmentInfo(itemData.eqData, this);
- //TODO 如果数量=0,且是穿了的装备,设置数量=1(仅初始化生效),感觉不是很好,看后面有新思路没
- if (count.Value == 0 && eqInfo.isWear)
- {
- count.Value = 1;
- }
- }
-
- }
- /// <summary>
- /// 是一个装备吗
- /// </summary>
- /// <returns></returns>
- public bool IsEquipItem()
- {
- if (eqInfo != null && eqInfo.basicEquipConfig.ID > 0)
- {
- return true;
- }
- return false;
- }
- public AccountFileInfo.ItemData ToItemData()
- {
- AccountFileInfo.ItemData itemData = new AccountFileInfo.ItemData(itemID, count.Value, guid);
- if (eqInfo != null)
- {
- itemData.eqData = eqInfo.ToData();
- }
-
- return itemData;
- }
- }
- }
|