Hello. I have created this gun script which is supposed to fire off one round, wait for the rateOfFire time to pass and then fire another bullet but instead all bullets are created at once. Here is my script
var prefabBullet:Transform;
var shootForce:float;
var shots : int = 0;
var isAutomatic = true;
var rateOfFire : int = 2;
var maxShots : int = 100;
var maxClips : int = 2;
var reloadTime : int = 3;
var shootSound : AudioClip;
var reloadSound : AudioClip;
var isShooting = 1;
var lowerThanShooting = .5;
function Update()
{
if(Input.GetButton("Fire1") && shots < maxShots && isShooting > lowerThanShooting)
{
var instanceBullet = Instantiate(prefabBullet, transform.position, Quaternion.identity);
instanceBullet.rigidbody.AddForce(transform.forward * shootForce);
audio.PlayOneShot(shootSound);
animation.CrossFade("M60Fire");
shots++;
isShooting++;
Auto();
}
else if (shots >= maxShots && Input.GetKeyDown(KeyCode.R))
{
Reload();
}
}
function Reload()
{
animation.CrossFade("M60Reload");
yield WaitForSeconds (reloadTime);
shots = 0;
maxClips--;
}
function Auto()
{
yield WaitForSeconds (rateOfFire);
isShooting--;
}
What is wrong with my script?