So i am spawning in targets and i want to wait for the target to be shot before spawning in another target. currently i have it so that it waits a specific amount of time before spawning in another target. I’ve tried to reference the script however it is on a prefab instead of an object in the hierarchy. this leads to the timer being stopped when all targets are spawned instead of when the player destroys all the targets. these are the two scripts:
public class spawingtarget : MonoBehaviour
{
public GameObject target;
public int yPos;
public int zPos;
public int targetCount;
void Start()
{
StartCoroutine(TargetSpawn());
}
IEnumerator TargetSpawn()
{
while(targetCount < 20)
{
yPos = Random.Range(6,2);
zPos = Random.Range(-18,-3);
Instantiate(target, new Vector3(14, yPos, zPos), Quaternion.identity);
yield return new WaitForSeconds(1f);
targetCount += 1;
}
GameObject.Find("timer").SendMessage("finish");
}
}
then for the target script:
{
public float health = 10f;
public void TakeDamage (float Amount)
{
health -= Amount;
if(health <= 0f)
{
Die();
}
}
public void Die()
{
Destroy(gameObject);
}
}
i want it so that instead of the WaitForSeconds(1f); it waits for the die function to take place (where my target will be destroyed) then spawn in another target. any help would be awesome. thanks