using System.Collections.Generic; using System.Linq; using Babushka.scripts.CSharp.Common.Util; using Godot; namespace Babushka.scripts.CSharp.Common.Fight; public partial class FightRoomSceneSetup : Node { [Export(PropertyHint.ArrayType)] private Node2D[] _enemyGroupSpawns; [Export] private PackedScene _roamingEnemyGroupPrefab; [Export] private FightSceneSwitcher _fightSceneSwitcher; public override void _Ready() { var room = FightWorld.Instance.currentRoom!; foreach (var (parent, group) in _enemyGroupSpawns.Zip(room.enemyGroups)) { if (group.AreAllDead()) continue; var roamingEnemyGroup = _roamingEnemyGroupPrefab.Instantiate(); roamingEnemyGroup.Initialize(group, _fightSceneSwitcher); parent.AddChild(roamingEnemyGroup); } } }