WaveManager.CreateEnemies C# (CSharp) Méthode

CreateEnemies() private méthode

Creates EnemyBases at the given spawn points.
private CreateEnemies ( Wave, wave, Node, spawns ) : IEnumerator
wave Wave, The to spawn from.
spawns Node, The locations to spawn.
Résultat IEnumerator
    private IEnumerator CreateEnemies(Wave wave, Node[] spawns)
    {
        if (wave != null || spawns != null || spawns.Length != 0)
        {

            float lastTime = Time.time;
            int spawnIndex = 0;
            while (wave.numberOfEnemies > 0)
            {
                float localDeltaTime = Time.time - lastTime;
                lastTime = Time.time;

                if (this.objectManager.gameState.GameSpeed == GameSpeed.Paused)
                {
                    wave.nextEnemySpawnEvent += localDeltaTime;
                }
                else
                {
                    wave.nextEnemySpawnEvent -= (localDeltaTime * ((float)this.objectManager.gameState.GameSpeed - 1f));
                }

                if (Time.time >= wave.nextEnemySpawnEvent)
                {
                    GameObject enemy = this.enemyPrefabs[(int)wave.waveId];
                    GameObject madeEnemy = enemy.GetObjectFromPool(
                        enemy.gameObject.name,
                        spawns[spawnIndex].UnityPosition,
                        Quaternion.Euler(new Vector3(90, 0, 0)));
                    madeEnemy.name = enemy.name;

                    wave.nextEnemySpawnEvent = Time.time + wave.spawnDelay;
                    wave.numberOfEnemies--;

                    spawnIndex++;
                    if (spawnIndex >= spawns.Length)
                    {
                        spawnIndex = 0;
                    }
                }
                yield return new WaitForSeconds(wave.spawnDelay / ((float)GameSpeed.X3));
            }
        }
    }