diff --git a/scripts/CSharp/Common/Fight/FightRoomSceneSetup.cs b/scripts/CSharp/Common/Fight/FightRoomSceneSetup.cs index 12c316d..de19a5c 100644 --- a/scripts/CSharp/Common/Fight/FightRoomSceneSetup.cs +++ b/scripts/CSharp/Common/Fight/FightRoomSceneSetup.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Linq; using Babushka.scripts.CSharp.Common.Util; using Godot; @@ -15,15 +16,14 @@ public partial class FightRoomSceneSetup : Node { var room = FightWorld.Instance.currentRoom!; - var i = 0; - foreach (var availableParent in _enemyGroupSpawns.Shuffle()) + foreach (var (parent, group) in _enemyGroupSpawns.Zip(room.enemyGroups)) { - var enemyGroup = room.enemyGroups[i]; + if (group.AreAllDead()) + continue; + var roamingEnemyGroup = _roamingEnemyGroupPrefab.Instantiate(); - roamingEnemyGroup.Initialize(enemyGroup, _fightSceneSwitcher); - availableParent.AddChild(roamingEnemyGroup); - if (i >= room.enemyGroups.Count - 1) break; - i++; + roamingEnemyGroup.Initialize(group, _fightSceneSwitcher); + parent.AddChild(roamingEnemyGroup); } } } \ No newline at end of file