отвечающий за удаление старых амуниций.
Один из возможных способов исправить эту проблему - изменить порядок спавна в методе `SpawnEnemyWaveAndAmmo()`, чтобы сначала создавались враги, а затем амуниция:
```csharp
private void SpawnEnemyWaveAndAmmo(int enemiesToSpawn)
{
Instantiate(ammoPrefab, GenerateSpawnPosition(), ammoPrefab.transform.rotation);
for (int i = 0; i < enemiesToSpawn; i++)
{
Instantiate(enemyPrefab, GenerateSpawnPosition(), enemyPrefab.transform.rotation);
}
}
```
Также стоит учесть, что при каждом вызове метода `GenerateSpawnPosition()` генерируется новая случайная позиция. Если требуется, чтобы все враги и амуниция спавнились в одной и той же случайной позиции, то нужно сначала сохранить случайную позицию в переменной и передавать её в метод `Instantiate()` для всех объектов:
```csharp
private void SpawnEnemyWaveAndAmmo(int enemiesToSpawn)
{
Vector3 spawnPosition = GenerateSpawnPosition();
for (int i = 0; i < enemiesToSpawn; i++)
{
Instantiate(enemyPrefab, spawnPosition, enemyPrefab.transform.rotation);
}
Instantiate(ammoPrefab, spawnPosition, ammoPrefab.transform.rotation);
}
```