Deactivate spawner after Limit

How do I deactivate the spawner after it hits a limit and later reactivate it when the enemycount is 0?

var timer : float = 0.0;
var spawning : boolean = false;
var prefab : Rigidbody;
var spawn1 : Transform;
var spawn2 : Transform;
var spawn3 : Transform;
var Prefabs = 0;
var Limit : int = 15;
 
function Update () {
 //check if spawning at the moment, if not add to timer
 if(!spawning){
  timer += Time.deltaTime;
 }
 //when timer reaches 2 seconds, call Spawn function
 if(timer >= 2){
  Spawn();
 }
 if( Prefabs > Limit)
 {
 //INSERT CODE HERE
 }
}
 
function Spawn(){
 //set spawning to true, to stop timer counting in the Update function
 spawning = true;
 //reset the timer to 0 so process can start over
 timer = 0;
 
 //select a random number, inside a maths function absolute command to ensure it is a whole number
 var randomPick : int = Mathf.Abs(Random.Range(1,4));
 
 //create a location 'Transform' type variable to store one of 3 possible locations declared at top of script
 var location : Transform;
 
 //check what randomPick is, and select one of the 3 locations, based on that number
 if(randomPick == 1){
  location = spawn1;
  Debug.Log("Chose pos 1");
  Prefabs += 1;
 }
 else if(randomPick == 2){
  location = spawn2;
  Debug.Log("Chose pos 2");
  Prefabs += 1;
 }
 else if(randomPick == 3){
  location = spawn3;
  Debug.Log("Chose pos 3");
  Prefabs += 1;
 }
 
 //create the object at point of the location variable
 var thingToMake : Rigidbody = Instantiate(prefab, location.position, location.rotation);
  thingToMake.AddForce(Vector3(0,0,100));
  
 
 //halt script for 10 seconds before returning to the start of the process
 yield WaitForSeconds(0.1);
 //set spawning back to false so timer may start again
 spawning = false;
}

Create a new boolean (like “limitReached”) and set it to false, change it to true if prefab >= limit, then back to false if prefab = 0.

Include the lines that spawn stuff in a new if clause that only runs if your boolean is false.

However, it looks like your prefab counter can go up but not down. There are two possibilities here:

  1. Reduce your prefab int by one whenever a relevant object is destroyed.

or, and I prefer this method:

  1. Make an array that finds all of your relevant objects, then count the array length. Set length equal to your prefab int.