Fire only if you don't reload

I am making an fps game and i have a weapon script.In this script i have 2 functions Reload and Fire.What i want is something like this:

function Update

    if (function Reload false)
    {
      Fire();
    }

Also i want to make the gun automatic via this script.Here it is:

var sound : AudioClip;
var bulletSpeed = 100;
var projectile : Rigidbody;
var bullets = 30;
var totalBullets = 60;
var reloadTime = 3;

function Update () 
{ 
      Fire();
      Reload();
}

function Fire ()
{

 if(bullets > 0)
 {
    // Ctrl was pressed, launch a projectile
    if (Input.GetButtonDown("Fire1")) 
    {
        // Instantiate the projectile at the position and rotation of this transform
        var clone : Rigidbody;
        clone = Instantiate(projectile, transform.position, transform.rotation);

        // Give the cloned object an initial velocity along the current 
        // object's Z axis
           clone.velocity = transform.TransformDirection (Vector3.forward * bulletSpeed);
           AudioSource.PlayClipAtPoint(sound, transform.position, 1);
        //take a bullet of our clip if firing       
           bullets -=1;
           GameObject.Find("bulletCounter").guiText.text = ""+totalBullets;
    }

  }

}

function Reload()
{ 
   if(bullets < 30)
   {
   if(Input.GetButtonDown("Reload"))   
   {
  yield WaitForSeconds (reloadTime) ;

    if(totalBullets > 0)
    {
       var transfer : int = 30 - bullets;

       if (transfer > totalBullets) 
       { 
          transfer = totalBullets; 
       }
       bullets += transfer;
       totalBullets -= transfer;
     }
    }

    }
    }

The structure would be better like this (at least in my opinion - there are for sure thousand ways to do this, but I think this one is quite clean and clear):

bool reloading = false;    
function Update()
{
  if (Input.GetButtonDown("Reload"))
    Reload();
  if ((!reloading) && Input.GetButtonDown("Fire1")) 
    Fire();
}

function Fire()
{
  if(bullets > 0)
  {
    // do stuff
    bullets -= 1;
  }
  else
    print("no more ammo - reload");
}

function Reload()
{
  if(totalBullets > 0)
  {
    // Start reloading
    reloading = true;
    yield WaitForSeconds(reloadTime);
    // take from the totalBullets, add to the bullets
    // ...
    // finished reloading after reloadTime
    reloading = false;
  }  
  else
    print("no more ammo - RUN!");
}

(Code not tested, be prepared for errors :D - I also hope I haven't made any game logics mistakes).