public void SetData(int strength, int intellect, int agility, int stamina, EquipmentType et, int id, string name, ItemQuality quality, ItemType type, string description, int amount, int capacity, int buyprice, int sellprice) { ItemEquipment dataTmp = new ItemEquipment(); dataTmp.SetData(strength, intellect, agility, stamina, et, id, name, quality, type, description, amount, capacity, buyprice, sellprice); data = dataTmp; }
/// <summary> /// 解析装备 /// </summary> private void ParseEquipment() { var jsonData = SerializeTool.JsonDeserialize(Contract.Instance.equipmentDataPath); for (int i = 0; i < jsonData.Count; i++) { var equipmentData = new ItemEquipment(); equipmentData.SetData(jsonData[i]); allItems.Add(equipmentData.id, equipmentData);//向物品管理器中添加该数据 } }
/// <summary> /// 根据id创建item 一定要返回新创建的item 否则引用数据备份会出现bug /// </summary> /// <param name="id"></param> private BaseItemData GetItemDataById(int id) { if (allItems.Count != 0) { BaseItemData baseItemData; allItems.TryGetValue(id, out baseItemData); switch (baseItemData.type) { case ItemType.Consumable: ItemConsumable itemConsumable = (ItemConsumable)baseItemData; ItemConsumable resultItem = new ItemConsumable(); resultItem.SetData(itemConsumable.hp, itemConsumable.mp, itemConsumable.itemEffect, baseItemData.id, baseItemData.name, baseItemData.quality, baseItemData.type, baseItemData.description, baseItemData.amount, baseItemData.capacity, baseItemData.buyprice, baseItemData.sellprice); return(resultItem); case ItemType.Equipment: ItemEquipment itemEquipment = (ItemEquipment)baseItemData; ItemEquipment resultItem1 = new ItemEquipment(); resultItem1.SetData(itemEquipment.strength, itemEquipment.intellect, itemEquipment.agility, itemEquipment.stamina, itemEquipment.equipmentType, baseItemData.id, baseItemData.name, baseItemData.quality, baseItemData.type, baseItemData.description, baseItemData.amount, baseItemData.capacity, baseItemData.buyprice, baseItemData.sellprice); return(resultItem1); case ItemType.Material: ItemMaterial itemMaterial = (ItemMaterial)baseItemData; ItemMaterial resultItem2 = new ItemMaterial(); resultItem2.SetData(baseItemData.id, baseItemData.name, baseItemData.quality, baseItemData.type, baseItemData.description, baseItemData.amount, baseItemData.capacity, baseItemData.buyprice, baseItemData.sellprice); return(resultItem2); case ItemType.Weapon: ItemWeapon itemWeapon = (ItemWeapon)baseItemData; ItemWeapon resultItem3 = new ItemWeapon(); resultItem3.SetData(itemWeapon.damage, itemWeapon.weaponType, itemWeapon.weaponEffects, baseItemData.id, baseItemData.name, baseItemData.quality, baseItemData.type, baseItemData.description, baseItemData.amount, baseItemData.capacity, baseItemData.buyprice, baseItemData.sellprice); return(resultItem3); } } else { Debug.LogError("物品列表中没有物品"); } return(null); }