using Godot; using Godot.Collections; using System.Linq; public partial class Level : Node3D { [Export] private Array _enemyScenes; [Export] private Array _spawnPoints; private Array _enemies = new Array(); private GameManager _gameManager; public override void _Ready() { _gameManager = GetTree().Root.GetNode("Main/GameManager"); for (var i = 0; i < _enemyScenes.Count; i++) { var enemy = _enemyScenes[i].Instantiate(); var convertedNode = (Node3D)enemy; GetTree().Root.AddChild(convertedNode); _enemies.Add(convertedNode); //convertedNode.Transform = _spawnPoints[i].Transform; } } public void OnEnemyDefeated(Node3D enemyDefeated) { GD.Print("On enemy defeated"); _enemies.Remove(enemyDefeated); if (!_enemies.Any()) _gameManager.OnAllEnemiesDefeated(); } }