limited ammo and ammo pickups

In my splitscreen shooter instead of having to pick up weapons, each plaer has all the weaons at the start but so far all the guns have unlimited ammo, I am using an automatic rigidbody shooting script that is added to an empty prefab child in each weapon prefab called ‘firing point’, I want to change my shooting script to have a limited supply of held ammo. So basically when a weapon’s ammo has depleated I want it to disable the firing point child so the player cant shoot it anymore and then when the player comes into contact with an ammo pickup I want to tell the ammo pickup to send a message to the shooting script to add ammo to the weapon and re-enable the firing point child so the player can use the weapon again.

here’s my script

RequireComponent(AudioSource);
var audioSource: AudioSource;
var Projectile : Rigidbody;
var ProjectileSpeed : int = 10;
var FireRate : float = 10; // The number of bullets fired per second
var lastfired : float; // The value of Time.time at the last firing moment
var gunshot : AudioClip;
var muzzleflash :Transform;

function Start() {
audioSource = GetComponent.();
}

function Update ()
{
if (Input.GetAxis(“Fire1”)>0f)
{
if (Time.time - lastfired > 1 / FireRate)
{
lastfired = Time.time;
var clone : Rigidbody;
clone = Instantiate(Projectile, transform.position, transform.rotation);
clone.velocity = transform.TransformDirection (Vector3.forward * ProjectileSpeed);
audioSource.PlayOneShot(gunshot, 0.7F);
Instantiate (muzzleflash,transform.position,transform.rotation);
}
}
}

You technically don’t need to disable the firing point. You can create a boolean canShoot and set it to false or true. Then you can just toggle the boolean, this will also allow for you to add to your script later, (weapon jams, reloading, hit, object interference, etc).

PSEUDO CODE:
ammo = 0;
canFire = false;

Update:
if ammo >= 0
canFire = true

if (canFire) {
if(Input.GetAxis(“Fire1”) && Time.time - lastfired > 1 / FireRate) {
Shoot();

Shoot() {
InstantiateBuller();
ResetShotTimer();
}

So this way you never have to disable your fire point you just can’t shoot whenever your bool is set to false. This allows you to make it to where if you’re falling, or in the water later you can’t shoot. It will allow you to expand later on this way much easier than having to deal with disabling the objects.