Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
    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();
    }