Как и в названии, у меня есть система WaveManaging, которая порождает врагов, основанных на врагах, которые еще не появятся и остаются живыми.
for (int enemiesRemainingToSpawn = currentWaveNumber ; enemiesRemainingToSpawn > 0;enemiesRemainingToSpawn -- , enemiesRemainingAlive ++)
{
print("enemies spawning" + enemiesRemainingToSpawn);
print("enemies alive" + enemiesRemainingAlive);
}
Сейчас это всего лишь тест, но кажется, что 'враги RemaingToSpawn - «не работает, в то время как« враги, оставаясь живыми »++.
На GameDev Discord, никто не нашел ничего плохого в этом, поэтому я здесь.Это выглядит хорошо для меня.Я попытался поместить его в тело цикла, но это не работает.я указал его в разделе инициализации (первом) цикла for, и снова это не работает.
В чем проблема?
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);
}
}
Вывод таков, что врагиRemainingAlive постоянно увеличиваются, потому что EnemiesRemainingToSpawn не понижается, завершаясь бесконечным циклом.оставшийся спавн = 1, враги оставшиеся живы ++