Random rooms

This commit is contained in:
Marco 2025-04-11 15:53:59 +02:00
commit 59f98ebf0e
13 changed files with 121 additions and 29 deletions

View file

@ -19,7 +19,7 @@ public partial class RogueliteRoomManager : Node2D
private void SpawnRoomsGrid()
{
var firstRoom = Rooms.FirstOrDefault();
//var firstRoom = Rooms.FirstOrDefault();
var origin = Vector2.Zero;
var tileSize = new Vector2(16, 16);
@ -28,11 +28,13 @@ public partial class RogueliteRoomManager : Node2D
{
for (int j = 0; j < 10; j++)
{
SpawnRoom(firstRoom, origin + (firstRoom.Size * new Vector2(i, j) * tileSize));
var roomIndex = GD.RandRange(0, Rooms.Count - 1);
var room = Rooms[roomIndex];
SpawnRoom(room, origin + (room.Size * new Vector2(i, j) * tileSize));
}
}
CallDeferred(MethodName.RebakeNavigationDeferred);
//CallDeferred(MethodName.RebakeNavigationDeferred);
}
@ -46,5 +48,7 @@ public partial class RogueliteRoomManager : Node2D
var roomScene = GD.Load<PackedScene>(room.ScenePath);
var spawnedScene = this.CreateChild<RogueliteRoom>(roomScene, position);
spawnedScene.Spawn();
}
}