Question about my shooting mechanism

Hello!

I am making a shooting script:

using UnityEngine;
using System.Collections;

public class Shooting : MonoBehaviour {
	
	public float MagSize;
	public GameObject Bullet;
	public int ReloadTime;
	private float ReloadTimer;

	private bool isReloading;
	
	Transform firePoint;
	
	void Start () {

		firePoint = transform.FindChild ("FirePoint");

	}	
	
	void Update() {

		if (Input.GetKeyDown (KeyCode.Mouse0) && isReloading == false) 
		{
		Shoot ();
		}

		if (MagSize == 0)
		{
		Reload ();
		Debug.Log ("Reloading...");
		}

		if (ReloadTimer > ReloadTime)
		{
		isReloading = false;
		Debug.Log ("Finnished Reloading!");
		}
	}

	void Shoot () {

		Instantiate (Bullet, firePoint.transform.position, transform.rotation);
		MagSize = MagSize - 1;
	}

	void Reload () 
		{
		isReloading = true;
		ReloadTimer += Time.deltaTime;
		}
}

It works quite well but it only reloads the first time i run out off ammo. If my MagSize is 5 i can shoot 5 shoots and then it reloads for the public value of ReloadTime, but after it has reloaded once i get an infinity ammount of ammo and it wont reload anymore. Can anyone see what i have done wrong?

Thank you

//Taegos

solvededdededed