Just as the title says, I have a waveManaging system that spawnsEnemies based on enemies that are yet to spawn and remain alive.
for (int enemiesRemainingToSpawn = currentWaveNumber ; enemiesRemainingToSpawn > 0;enemiesRemainingToSpawn -- , enemiesRemainingAlive ++)
{
print("enemies spawning" + enemiesRemainingToSpawn);
print("enemies alive" + enemiesRemainingAlive);
}
This is just a test right now, but it seems that 'enemiesRemaingToSpawn --' is not working while 'enemiesRemainingAlive ++' is.
On the GameDev Discord, no one has found anything wrong with it which is why I am here. It looks fine to me as well. I have tried putting it within the body of the loop but that does not work as well. i have specified it within the initializing(first) section of the for loop and again this does not work.
What is the problem at hand?
edit:
public int enemiesRemainingToSpawn;
public int enemiesRemainingAlive;
public float afterWavePrepTime = 5f;
public GameObject basicEnemyPreFab;
public Transform[] spawnPoints;
private bool isWaveFinished = false;
private bool startNewWave = false;
public int currentWaveNumber;
void spawnEnemies ()
{
int spawnPointIndex = Random.Range(0, spawnPoints.Length);
for (int enemiesRemainingToSpawn = currentWaveNumber ; enemiesRemainingToSpawn > 0;enemiesRemainingToSpawn -- , enemiesRemainingAlive ++)
{
print("enemies spawning" + enemiesRemainingToSpawn);
print("enemies alive" + enemiesRemainingAlive);
}
}
The output is that enemiesRemainingAlive constantly goes up because EnemiesRemainingToSpawn does not go down, concluding in an endless loop. remainingtospawn = 1, enemiesremainingalive ++
Hi I try to run your code in locally by excluding your objects .Its running well
public static void spawnEnemies() { int enemiesRemainingAlive = 0; double afterWavePrepTime = 5.0; bool isWaveFinished = false; bool startNewWave = false; int currentWaveNumber; Random x = new Random(); currentWaveNumber = x.Next(1, 7); for (int enemiesRemainingToSpawn = currentWaveNumber; enemiesRemainingToSpawn > 0; enemiesRemainingToSpawn--, enemiesRemainingAlive++) { Console.WriteLine("enemies spawning" + enemiesRemainingToSpawn); Console.WriteLine("enemies alive" + enemiesRemainingAlive); } Console.ReadLine(); } //out put // enemies spawning2 //enemies alive0 //enemies spawning1 //enemies alive1
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.