I have a mechanic in my game that allows the player to slow down time but whenever I use it, my bullet spawner starts spitting out bullets at a higher rate. What do I do? Here’s my bullet spawner script:
#pragma strict
var projectile : GameObject;
var timeUntilDestroyed : float;
var timeBetweenBulletsCurrent : float;
var timeBetweenBullets1 : float;
var timeBetweenBullets2 : float;
var patternChangeTime : float;
var patternChangeTime2 : float;
var isFiring : boolean;
var isChanging : boolean;
function ChangeSpeedEvery() {
isChanging = true;
timeBetweenBulletsCurrent = timeBetweenBullets1;
yield WaitForSeconds(patternChangeTime);
timeBetweenBulletsCurrent = timeBetweenBullets2;
yield WaitForSeconds(patternChangeTime2);
isChanging = false;
}
function FireBullet() {
var clone = Instantiate(projectile, transform.position, Quaternion.identity);
Destroy(clone, timeUntilDestroyed);
}
function FireBulletRepeatedly() {
isFiring = true;
FireBullet();
yield WaitForSeconds(timeBetweenBulletsCurrent);
isFiring = false;
}
function FixedUpdate() {
if(isFiring == false) {
FireBulletRepeatedly();
}
if(isChanging == false) {
ChangeSpeedEvery();
}
}