Make Raycast shot the ray slower?

Hi , I’ve attached a Raycast function to my gun in order to tell it where do i hit and where to create the particle effect. And after that I’ve created an animation to it so it can look more realistic , but you can guess that i can shoot and apply damage faster then i can run the animation , so i want to make the raycast to take a 1second break until he can shoot again…
earlier today i followed a tutorial about making youre enemy attack slower and i thought why not do the same to the raycast function…is it posible? if it is how to do it?
Theres my Raycast function :
#pragma strict

var hitEffect : Transform;
var TheDamage = 100;

function Update ()
{
		var hit : RaycastHit;
		var ray : Ray = Camera.main.ScreenPointToRay(Vector3(Screen.width * 0.5, Screen.height * 0.5, 0));
	
		if(Input.GetMouseButtonDown(0))
		{

			
		if (Physics.Raycast (ray, hit, 100)) // 100 = How far the bullet can get , means how far the bullet reaches from you and on...
		{

			var particleClone = Instantiate(hitEffect, hit.point, Quaternion.LookRotation(hit.normal));
			Destroy(particleClone.gameObject, 2); 
			hit.transform.SendMessage("ApplyDamage", TheDamage, SendMessageOptions.DontRequireReceiver);
		}
			
		    
		}

}

And theres a similar code applied to my enemy :

var Distance;
var Target : Transform;
var lookAtDistance = 25.0;
var chaseRange = 15.0;
var AttackRange = 1.5;
var moveSpeed = 5.0;
var Damping = 6.0;
var Controller : CharacterController;
var gravity : float = 20.0;
var attackRepeatTime = 2;
var attackTime : float;
private var MoveDirection : Vector3 = Vector3.zero;

function Start ()
{
 attackTime = Time.time;
}

function Update()
{
	Distance = Vector3.Distance (Target.position, transform.position);
	
	if(Distance < lookAtDistance)
	{		
		lookAt();
	}
	
	if(Distance > lookAtDistance)
	{
		renderer.material.color = Color.green;
	}
	if (Distance < AttackRange)
	{
		attack();
	}
	else if(Distance < chaseRange)
	{
	    
		chase();
	}
}

function lookAt()
{
	renderer.material.color = Color.yellow;
	var rotation = Quaternion.LookRotation(Target.position - transform.position);
	transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * Damping);
	
}

function chase()
{
	renderer.material.color = Color.red;
	moveDirection = transform.forward;
	moveDirection *= moveSpeed;
	
	moveDirection.y -= gravity * Time.deltaTime;
	Controller.Move(moveDirection * Time.deltaTime);
}

function attack()
{
	if(Time.time > attackTime)
	{
	Debug.Log ("Attack");
	attackTime = Time.time + attackRepeatTime;
	
	}
	
}

function ApplyDamage()
{
	lookAtDistance += 30;
	chaseRange += 30;
	moveSpeed += 1;
}

The code that make him slower is in the attack function…

so what do i need to add to my raycast function in order to make it shoot\applydamage with a delay of 1 second?

Sadly no…
I have same wish, but I didn’t found any tutorials about ‘make raycast slower’.