public void SpawnEnemies() { var spawns = _formations.Spawns(); for (var spawn = 0; spawn < spawns.Length; spawn++) { if (spawns[spawn] == 0) { continue; } var enemy = (Enemy)_enemyObject.Instance(); enemy.Position = new Vector2(_formations.XPosition, _formations.Positions[spawn]); enemy.Connect("EnemyHit", this, nameof(EnemyHit)); enemy.Connect("Destroyed", this, nameof(EnemyDestroyed)); GetNode("GameCanvas/Enemies").AddChild(enemy); } if (_formations.IsEndOfColumn(out _)) { _enemySpawnTimer.Stop(); _formationTimer.Start(); } else { _formations.NextColumn(); } }