Fixed door spawning

This commit is contained in:
Marco 2025-04-17 16:51:20 +02:00
commit 718c20c643
14 changed files with 33 additions and 17 deletions

View file

@ -4,7 +4,7 @@
[resource]
script = ExtResource("1_cyi2x")
RoomName = &"Beginning Test 1"
RoomName = &"Beginning"
Type = 0
ScenePath = &"uid://24wh7h2dbljf"
Size = Vector2i(1, 1)

View file

@ -8,7 +8,7 @@
[resource]
script = ExtResource("5_yivs1")
RoomName = &"Test"
RoomName = &"BigLargeMap"
Type = 1
ScenePath = &"uid://c3x64n451f3mk"
Size = Vector2i(3, 2)

View file

@ -8,7 +8,7 @@
[resource]
script = ExtResource("5_hvrt3")
RoomName = &"Big Test"
RoomName = &"BigTest"
Type = 1
ScenePath = &"uid://dngwjgs5bhnx7"
Size = Vector2i(2, 2)

View file

@ -8,7 +8,7 @@
[resource]
script = ExtResource("5_2u7yj")
RoomName = &"Boss"
RoomName = &"Boss1"
Type = 4
ScenePath = &"uid://brytwc48xpj78"
Size = Vector2i(1, 1)

View file

@ -8,7 +8,7 @@
[resource]
script = ExtResource("5_ea8ub")
RoomName = &"Test"
RoomName = &"LongX3Map"
Type = 1
ScenePath = &"uid://ss7hm1utnvn1"
Size = Vector2i(1, 3)

View file

@ -8,7 +8,7 @@
[resource]
script = ExtResource("1_keg4c")
RoomName = &"Test"
RoomName = &"TestMapSmall"
Type = 1
ScenePath = &"uid://da7hmajaaiohm"
Size = Vector2i(1, 1)

View file

@ -8,7 +8,7 @@
[resource]
script = ExtResource("5_myanx")
RoomName = &"Test2"
RoomName = &"TestMapSmallLab"
Type = 1
ScenePath = &"uid://dcxrdhq1yw5c7"
Size = Vector2i(1, 1)

View file

@ -8,7 +8,7 @@
[resource]
script = ExtResource("5_nda2n")
RoomName = &"Test"
RoomName = &"LargeMap"
Type = 1
ScenePath = &"uid://c36nvk7cw3emg"
Size = Vector2i(3, 1)

View file

@ -8,7 +8,7 @@
[resource]
script = ExtResource("5_ygk48")
RoomName = &"Test"
RoomName = &"LongMap"
Type = 1
ScenePath = &"uid://hmu4dw62c10t"
Size = Vector2i(1, 2)

View file

@ -34,7 +34,8 @@ SpawnMarkers = Dictionary[int, NodePath]({
process_mode = 1
script = ExtResource("4_jtlua")
Rooms = Array[Object]([ExtResource("5_gwtv6"), ExtResource("6_gwtv6"), ExtResource("7_wbqvu"), ExtResource("8_3fyis"), ExtResource("9_go1yg"), ExtResource("5_pfafs"), ExtResource("11_68lig"), ExtResource("12_83bvc"), ExtResource("13_y651a")])
DungeonLength = 12
DungeonLength = 4
Seed = 1
[node name="CameraController" type="Camera2D" parent="."]
process_mode = 1

View file

@ -24,6 +24,7 @@ script = ExtResource("1_cak6m")
RoomResource = ExtResource("2_cak6m")
DoorPrefab = ExtResource("3_wtdf1")
WallPrefab = ExtResource("4_hgeju")
metadata/test_scene = "res://Scenes/Maps/Roguelike.tscn"
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]

View file

@ -86,17 +86,17 @@ public partial class RogueliteRoom : Node2D
if (connected)
{
var door = this.CreateChild<Door>(DoorPrefab, marker.GlobalPosition);
var door = this.CreateChildOf<Door>(marker, DoorPrefab, marker.GlobalPosition);
door.State = DoorState.Closed;
_doors.Add(door);
if (connection.FromDoor is null && connection.ToDoor != door)
if (doorEdge == connection.From)
{
connection.FromDoor = door;
}
else if (connection.ToDoor is null && connection.FromDoor != door)
else if (doorEdge == connection.To)
{
connection.ToDoor = door;
}
@ -105,6 +105,19 @@ public partial class RogueliteRoom : Node2D
GD.Print($"Door {door} connection was full: {connection.From} {connection.FromDoor} to {connection.To} {connection.ToDoor}");
}
// if (connection.FromDoor is null && connection.ToDoor != door)
// {
// connection.FromDoor = door;
// }
// else if (connection.ToDoor is null && connection.FromDoor != door)
// {
// connection.ToDoor = door;
// }
// else
// {
// GD.Print($"Door {door} connection was full: {connection.From} {connection.FromDoor} to {connection.To} {connection.ToDoor}");
// }
_connections.Add(connection);
// var label = new Label();

View file

@ -169,9 +169,8 @@ public partial class RogueliteRoomManager : Node2D
GD.PrintErr("Could not spawn boss room");
}
foreach (var roomEntry in _roomGrid)
foreach (var room in SpawnedRooms)
{
var room = roomEntry.Value;
room.HandleDoors((doorEdge, pos) =>
{
//var neighborPos = room.GridPosition + pos;
@ -235,6 +234,8 @@ public partial class RogueliteRoomManager : Node2D
spawnedScene.GridPosition = gridPos;
spawnedScene.Name = room.RoomName;
SpawnedRooms.Add(spawnedScene);
// for reference

View file

@ -150,7 +150,7 @@ movie_writer/movie_file="D:/Maddo/Recordings/Capture.avi"
[editor_plugins]
enabled=PackedStringArray("res://addons/dialogic/plugin.cfg", "res://addons/resources_spreadsheet_view/plugin.cfg", "res://addons/scene_palette/plugin.cfg", "res://addons/smoothing/plugin.cfg")
enabled=PackedStringArray("res://addons/dialogic/plugin.cfg", "res://addons/godot_test_scene/plugin.cfg", "res://addons/resources_spreadsheet_view/plugin.cfg", "res://addons/scene_palette/plugin.cfg", "res://addons/smoothing/plugin.cfg")
[global_group]