using System.Linq; using Cirno.Scripts.Resources; using Cirno.Scripts.Resources.Roguelite; using Godot; using Godot.Collections; namespace Cirno.Scripts.Controllers; public partial class RogueliteRoom : Node2D { [Export] public RogueliteRoomResource RoomResource { get; set; } private Array SpawnableEnemies => RoomResource.SpawnableEnemies; public void Spawn() { var enemySpawners = this.GetNode("EnemySpawners").GetChildren().Cast(); foreach (var spawner in enemySpawners) { var index = GD.RandRange(0, SpawnableEnemies.Count - 1); var e = SpawnableEnemies[index]; var enemyScene = GD.Load(e.PrefabPath); var spawnedEnemy = spawner.CreateChild(enemyScene); } } }