This commit is contained in:
Marco 2025-04-15 12:04:22 +02:00
commit 60f755aca5
5 changed files with 137 additions and 15 deletions

View file

@ -16,6 +16,10 @@ public partial class RogueliteRoomManager : Node2D
//private Godot.Collections.Dictionary<Vector2I, RogueliteRoomResource> _grid = new();
private Godot.Collections.Dictionary<Vector2I, RogueliteRoom> _roomGrid = new();
public Godot.Collections.Dictionary<Vector2I, RogueliteRoom> RoomGrid => _roomGrid;
public List<RogueliteRoom> SpawnedRooms { get; private set; } = [];
[Export] public Vector2I SpawnOrigin { get; private set; } = Vector2I.Zero;
[Export] public int DungeonLength { get; set; } = 10;
@ -29,6 +33,8 @@ public partial class RogueliteRoomManager : Node2D
[Export] public Vector2I TileSize { get; set; } = new Vector2I(16, 16);
[Export] public Vector2I RoomSizeInTiles { get; set; } = new Vector2I(20, 10);
[Signal] public delegate void MapCreatedEventHandler();
public override void _Ready()
{
@ -123,6 +129,8 @@ public partial class RogueliteRoomManager : Node2D
return _roomGrid.ContainsKey(neighborPos);
});
}
EmitSignalMapCreated();
}
private void GenerateDungeon()
@ -315,6 +323,8 @@ public partial class RogueliteRoomManager : Node2D
spawnedScene.GridPosition = gridPos;
SpawnedRooms.Add(spawnedScene);
// for reference
//SpawnRoom(room, origin + (room.Size * new Vector2(i, j) * tileSize));
spawnedScene.Spawn();