How do I make a delay between these animations?

So I am making an FPS and there is a list of animations I need a timer for. They animate when the left mouse button is pressed. I want there to be a delay of about .2-.5 seconds before you can click to animate them again. There is a sound on one of them, and if there could be a delay between that too that would be great. They all should play at the same time.

Script No. 1(the one with the sound):

 function Update () {
    	if (Input.GetButtonDown("Fire1")) {
    		var gunSound : AudioSource = GetComponent.<AudioSource>(); 
    		gunSound.Play(); 
    		GetComponent.<Animation>().Play("slideAnimation"); 
    	}
    }

Script No. 2:

function Update () {
	if (Input.GetButtonDown("Fire1")) {
		GetComponent.<Animation>().Play("gunRecoil"); 
	}
}

Script No. 3:

function Update () {
	if (Input.GetButtonDown("Fire1")) {
			GetComponent.<Animation>().Play("bulletShoot"); 
	}
}

It’s not the most efficient way, but it gets the job done… you could have a

bool canPlayAnimation

And when it’s true you can play your animation but if false you can’t. It would start true, but once you activated your animation you would have it set to false and invoke a new function example: SetAimationBoolTrue, that would simply set the bool to true… but that does give you the delay.

It’s not the most efficient way to do it, but it does work.