private IEnumerator SpawnEnemy(int amount, TrackPiece trackPiece, float spawnDelay = 1f) { //Debug.Log("Spawn Enemy"); enemySpawnQueueCount += amount; for (int i = 0; i < amount; i++) { yield return(new WaitForEndOfFrame()); if (i > trackPiece.enemySpawnPoints.Count) { break; } Transform spawnPoint = trackPiece.enemySpawnPoints[i]; WheelDriveCustom newEnemy = LeanPool.Spawn(gameData.enemyPrefab, trackPiece.enemySpawnPoints[i].position, trackPiece.enemySpawnPoints[i].rotation); enemies.Add(newEnemy); trackPiece.QueueEnemy(spawnPoint, newEnemy); enemySpawnQueueCount--; } }
public void QueueEnemy(Transform spawnPoint, WheelDriveCustom enemy) { queuedEnemies[spawnPoint] = enemy; }
public void EnemyKilled(WheelDriveCustom enemy) { enemies.Remove(enemy); }
public void EnemySpawned(WheelDriveCustom enemy) { enemies.Add(enemy); }