How to delay shots between bullets that AI shoots

I am making FPS, where people play against computer, i am not sure how to make time interval between enemy’s shots. Here is what I have:
var bulletSpawn: Transform;
var bullet: GameObject;
var target : Transform;
private var seeRange = 100.0;
private var shootRange= 20.0;
private var keepDistance = 10.0;
private var rotationSpeed = 5.0;
private var sightAngle = 30;
private var speed = 0.01;
private var state = “PATROL”;
private var FireTime = 0;
var firerate = 1;

function Start ()
{
	Patrol ();
	this.animation["shoot"].wrapMode= WrapMode.Loop;
	this.animation["run"].wrapMode= WrapMode.Loop;
	this.animation["idle"].wrapMode= WrapMode.Loop;
}

function Update ()
{
	if (CanSeeTarget ())
	{
		if (CanShoot ())
		{
			state = "SHOOTING";
			animation.CrossFade("shoot");
			speed = 0.00;
			Shoot ();
		}
		else
		{
			state = "PURSUE";
			animation.CrossFade("run");
			speed = 0.08;
			Pursue();
		}
	}
	else
	{
		state = "Patrol";
		if (!animation.IsPlaying("idle"))
		{
			animation.Play ("idle");
			speed = 0.00;
		}
		Patrol ();
	}
}

function Patrol ()
{
	// stand around
}

function CanSeeTarget () : boolean
{
	var directionToTarget = target.position - transform.position;
	var angle = Vector3.Angle (directionToTarget, this.transform.forward);
	if (Vector3.Distance(transform.position, target.position) > seeRange || angle > sightAngle)
		return false;
	return true;
}

function CanShoot(): boolean
{
	if (Vector3.Distance(transform.position, target.position) > shootRange)
		return false;
	return true;
}

function Pursue()
{
	var position = target.position;
	var direction = position - transform.position;
	direction.y = 0;
	transform.rotation = Quaternion.Slerp (transform.rotation, Quaternion.LookRotation (direction), rotationSpeed * Time.deltaTime);
	transform.eulerAngles =  Vector3 (0, transform.eulerAngles.y, 0);
	if (direction.magnitude > keepDistance)
	{
		direction = direction.normalized * speed;
		transform.position += direction;
	}
}

function Shoot ()
{
	
	var position = target.position;
	var direction = position - transform.position;
	direction.y = 0;
	transform.rotation = Quaternion.Slerp (transform.rotation, Quaternion.LookRotation (direction), rotationSpeed * Time.deltaTime);
	transform.eulerAngles = Vector3 (0, transform.eulerAngles.y, 0);
	if (Time.time - firerate > FireTime)
	{
		var newbullet: GameObject = Instantiate (bullet, bulletSpawn.transform.position, transform.rotation);
		Destroy (newbullet, 0.05);
	}

}

FireTime = Time.time;

Add that to the If statement in Shoot(). You’re not updating the last FireTime so the if clause is always true… Time.time - 1 is always > 0 after 1 second of your game!