[SerializeField] float upgradeMultiplier = 2; //Set through inspector!

    public override void Apply() {
        print(string.Format("UPGRADE UNLOCKED: '{0}'", upgradeName));

        weapons = GameManager.Instance.weaponManager.weaponsOnPlayer;

        for (int i = 0; i < weapons.Length; i++) {
            if (weapons[i] != null) {
                weaponScript = weapons[i].GetComponent<WeaponScript>();

                weaponScript.maxAmmoInClip = Mathf.FloorToInt(weaponScript.maxAmmoInClip * upgradeMultiplier);

                if (weaponScript.gameObject.activeInHierarchy)
                    weaponScript.UpdateHudValues();
            }
        }
        print(string.Format("AmmoClipSize multiplied by {0}", upgradeMultiplier));
    }
    float upgradeMultiplier = 2; //Set through inspector!

    public override void Apply() {
        print(string.Format("UPGRADE UNLOCKED: '{0}'", upgradeName));

        weapons = GameManager.Instance.weaponManager.weaponsOnPlayer;

        for (int i = 0; i < weapons.Length; i++) {
            if (weapons[i] != null) {
                weaponScript = weapons[i].GetComponent<WeaponScript>();

                weaponScript.maxTotalAmmo = Mathf.FloorToInt(weaponScript.maxTotalAmmo * upgradeMultiplier);

                //Only do this for the weapon you are currently holding. Changed for upgrades to prevent the wrong info showing.
                
                if (weaponScript.gameObject.activeInHierarchy)
                    weaponScript.UpdateHudValues();
            }
        }
        print(string.Format("Total ammocap multiplied by {0}", upgradeMultiplier));
    }