public void EquipWeapon(Item itemToEquip)
    {
        if (EquippedWeapon != null)
        {
            InventoryController.Instance.GiveItem(currentlyEquippedItem.ObjectSlug);
            charactersStats.RemoveBonusStats(EquippedWeapon.GetComponent <IWeapon>().Stats); //Remove current weapon's stats from player
            Destroy(playerHand.transform.GetChild(0).gameObject);                            //Destroy the current weapon on player's hand
        }

        EquippedWeapon = (GameObject)Instantiate(Resources.Load <GameObject>("Weapons/" + itemToEquip.ObjectSlug), playerHand.transform.position, playerHand.transform.rotation);
        //Get the prefab named "Sword" from the "Resources" folder and set the weapon to the player's hand
        //The item is named "Sword" in InventoryController and this line will get the exact prefab for it

        equippedWeapon = EquippedWeapon.GetComponent <IWeapon>();

        if (EquippedWeapon.GetComponent <IProjectileWeapon>() != null) //Sword can't cast fireball
        {
            EquippedWeapon.GetComponent <IProjectileWeapon>().ProjectileSpawn = spawnProjectile;
        }

        EquippedWeapon.transform.SetParent(playerHand.transform); //Parent to the player's hand

        equippedWeapon.Stats = itemToEquip.Stats;                 //EquippedWeapon.GetComponent<IWeapon>().Stats; //Get stats from the weapon

        currentlyEquippedItem = itemToEquip;

        charactersStats.AddBonusStats(itemToEquip.Stats);

        UIEventHandler.ItemEquipped(itemToEquip);
        UIEventHandler.StatsChanged();
    }