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();
            }
        }