public static EquipmentInventoryItem CreateEquipment(string ItemName, string ItemType) { EquipmentInventoryItem equippable = new EquipmentInventoryItem(); EquipmentSO equipmentSO = Resources.Load <EquipmentSO>(string.Format("Items/Equipment/{0}/{1}/{1}", ItemType, ItemName)); equippable.itemID = equipmentSO.inventoryItem.itemID; equippable.itemName = equipmentSO.inventoryItem.itemName; equippable.itemImageLocation = equipmentSO.inventoryItem.itemImageLocation; equippable.itemDescription = equipmentSO.inventoryItem.itemDescription; equippable.itemType = equipmentSO.inventoryItem.itemType; if (equipmentSO.attatchedAbility != null && equipmentSO.attatchedAbility.initialized) { equippable.attatchedAbility = equipmentSO.attatchedAbility.Clone(); } equippable.fitsInSlot = equipmentSO.fitsInSlot; foreach (ModifierGroup mod in equipmentSO.mods) { equippable.mods.Add(new ModifierGroup() { Stat = mod.Stat, Aspect = mod.Aspect, Method = mod.Method, Value = mod.Value }); } return(equippable); }
public void AddEquipment(EquipmentInventoryItem itemToEquip) { for (int i = 0; i < AllEquipment.Count; i++) { if (itemToEquip.fitsInSlot.name == AllEquipment[i].acceptedItem && AllEquipment[i].itemInSlot == null) { foreach (ModifierGroup stat in itemToEquip.mods) { character.totalStats.IncreaseStat(stat.Stat, stat.Aspect, stat.Method, stat.Value); } AllEquipment[i].itemInSlot = itemToEquip; AllEquipment[i].imageLocation = itemToEquip.itemImageLocation; if (character is PlayerCharacterUnit playerCharacter) { playerCharacter.abilityIKnow1 = itemToEquip.attatchedAbility; } i = AllEquipment.Count; } } DetermineWeaponStats(); character.RefreshStats(); //CharacterInventoryPane.DisplayCharacterInventory(); }