as above but i just can seem to get this working at all! sorry if the question is structured bad in advance, its my first post.
if i have:
//generated on start
int numAliens;
//generated on start. a list of the desired spawn locations
public List<Vector3> AlienPos = new List<Vector3>();
//the prefabbed alien . i hope to make this an array of multiple prefabs at some point
public GameObject AlienPrefab;
//respawn all enemys
void rePopWave(){
while(numAliens > 0) {
numAliens++;
//Instantiate(AlienPrefab, AlienPos[numAliens], Quaternion.identity);
Debug.Log ("THEY ARE BACK");
}
}
Your while loop is never going to end. The check while(numAliens>0) will always be true as long as you have any aliens. Especially since every time the loop goes it adds 1 to numAliens, meaning it will always be positive. So the while loop goes forever.
A solution would be to restructure it like this
//generated on start
int numAliens = 0;
//generated on start. a list of the desired spawn locations
public List<Vector3> AlienPos = new List<Vector3>();
//the prefabbed alien . i hope to make this an array of multiple prefabs at some point
public GameObject AlienPrefab;
//respawn all enemys
void rePopWave(){
while(numAliens < AlienPos.Count) {
numAliens++;
Instantiate(AlienPrefab, AlienPos[numAliens], Quaternion.identity);
Debug.Log ("THEY ARE BACK");
}
}
Eventually the numAliens will be greater than AlienPos.Count (which is the size of the list) and when that happens the while loop will stop and your aliens should all be created.