Spawner continuing after boss dies

In my spawner script I have it where every 10 enemies that run through the game, the level increases and the speed of the enemy does too. So on level 4 I have a subboss that comes through the game, which makes the basic enemies not appear, basically having the player and the boss fighting alone. i’m having a little trouble, after I destroy the subboss the spawner does continue but however if the boss collides with the bottom bumper it dies (Which i want it to do if player choose to ignore the boss), but the spawner is turned off.

I want the spawner to continue if the boss collides with the bottom bumper(Like galaga). Here is the script Note: Turning isON from false to true makes the screen flood with enemies.

var isON: boolean = true;
var Enemyred: Transform;
var Enemyreed: Enemy_Red;

function Update () {

	//Spawns first enemy
	if (isON){
	transform.Translate(Vector3(direction * speed * Time.deltaTime,0,0));
	if (Time.time > lastSpawn + nextSpawn){
		Instantiate(enemy, transform.position, Quaternion.identity);
		level = manager.ShipCounter();
		manager.ShipCounter();
		lastSpawn = Time.time;
		nextSpawn = Random.Range(1.0,3.0 - (.2 * level));
		}
	}
		
		//spawns the subboss
		if (level == 4 && isON == true){
		isON = false;
		Instantiate(Enemyred, Vector3(0,8,2), Quaternion.identity);
		if (Time.time > lastSpawn + nextSpawn){
		level = manager.ShipCounter();
		manager.ShipCounter();
		lastSpawn = Time.time;
		nextSpawn = Random.Range(1.0,3.0 - (.2 * level));
		}
		}
		if (Enemyreed == null){
			Enemyreed = GameObject.FindWithTag("Enemy_Red").GetComponent(Enemy_Red);

		}

		if(Enemyreed.health <= 0 && level == 4 && isON == false )
		{
			isON = true;
	}
}

I tried to make a collision but i couldn’t get it to work, if you good help thank you! Also here is part of the boss script where the boss dies when colldies with the bottom bumper

function OnCollisionEnter(Col: Collision){
	if (Col.gameObject.tag == "Bottom"){
		Destroy(gameObject);
	}
}

Couple of points to note

Use a custom timer instead of Time.time, this will allow you to pause the timer when the boss appears. There are multiple ways to build a custom timer. Here is one:

private float timer;

if(isOn){
    \\ Note placing it here means it is automatically paused if !isOn
    timer += Time.deltaTime;
    \\ Do all that other stuff replacing Time.time with timer

To fix the bumper problem I would add a check to see if Enemyreed has been destroyed. Change line 36 to:

if(!Enemyreed || (Enemyreed.health <= 0 && level == 4 && isON == false)

A better optimisation would be to have Enemyreed destroy itself an this script just check if it is null.