- Home /
The question is answered, right answer was accepted
How do I restart enemy spawn when boss is Destroyed in Unity C# version 5.2
I have a boss that is spawned after a period of time. when it is spawned my other enemies stop spawning. i want my enemies to spawn again after my boss is destroyed. here is my code for it.
Boss Spawn:
using UnityEngine;
using System.Collections;
public class BossSpawn : MonoBehaviour {
public GameObject enemy;
public Transform enemySpawn;
public float SpawnRate;
private float nextSpawn;
public GameObject cloneEnemy;
public float firstSpawn;
public Transform boss;
public bool IsSpawned;
void Start()
{
}
void FixedUpdate()
{
if (Time.time > firstSpawn)
{
if (Time.time > nextSpawn)
{
nextSpawn = Time.time + SpawnRate;
cloneEnemy = (GameObject)Instantiate(enemy, enemySpawn.position, enemySpawn.rotation);
gameObject.SetActive(true);
}
}
}
void Update()
{
if(boss == null)
{
IsSpawned = false;
}
else
{
IsSpawned = true;
}
}
}
Boss Behavior (code that applies):
public GameObject bos;
void OnDestroy()
{
bos.GetComponent<BossSpawn>().boss = null;
}
and Enemy Spawn:
using UnityEngine;
using System.Collections;
public class enemySpawner : MonoBehaviour
{
public GameObject enemy;
public Transform enemySpawn;
public float SpawnRate;
private float nextSpawn;
public GameObject cloneEnemy;
public bool bossIsSpawned;
public Transform bossSpawn;
void Start ()
{
}
void FixedUpdate ()
{
if ( Time.time > nextSpawn && bossIsSpawned == false)
{
nextSpawn = Time.time + SpawnRate;
cloneEnemy = (GameObject)Instantiate(enemy, enemySpawn.position, enemySpawn.rotation);
}
if (bossSpawn.GetComponent<BossSpawn>().IsSpawned == true)
{
bossIsSpawned = true;
}
if(bossSpawn.GetComponent<BossSpawn>().IsSpawned == false)
{
bossIsSpawned = false;
}
}
}
Enemy Spawn does work. my main problem is getting IsSpawned = false when my boss is destroyed.
Thanks for the help! mnmwert
Answer by OrbitGames · May 18, 2016 at 05:46 PM
Haven't completely read your code, but you seem to be setting the bools responsible for spawning every frame... you can do this way easier by simply turning spawning off the frame your boss is spawned, and back on once he gets destroyed
Follow this Question
Related Questions
Enemy Spawner help 1 Answer
Need help with enemy spawner 2 Answers
Help with Spawning & Destroying Background Objects in 2D 2 Answers
Sound stops when object is destroyed 6 Answers
Level spawning statement help 0 Answers