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] [resource]
script = ExtResource("1_cyi2x") script = ExtResource("1_cyi2x")
RoomName = &"Beginning Test 1" RoomName = &"Beginning"
Type = 0 Type = 0
ScenePath = &"uid://24wh7h2dbljf" ScenePath = &"uid://24wh7h2dbljf"
Size = Vector2i(1, 1) Size = Vector2i(1, 1)

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -34,7 +34,8 @@ SpawnMarkers = Dictionary[int, NodePath]({
process_mode = 1 process_mode = 1
script = ExtResource("4_jtlua") 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")]) 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="."] [node name="CameraController" type="Camera2D" parent="."]
process_mode = 1 process_mode = 1

View file

@ -24,6 +24,7 @@ script = ExtResource("1_cak6m")
RoomResource = ExtResource("2_cak6m") RoomResource = ExtResource("2_cak6m")
DoorPrefab = ExtResource("3_wtdf1") DoorPrefab = ExtResource("3_wtdf1")
WallPrefab = ExtResource("4_hgeju") WallPrefab = ExtResource("4_hgeju")
metadata/test_scene = "res://Scenes/Maps/Roguelike.tscn"
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]] [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) if (connected)
{ {
var door = this.CreateChild<Door>(DoorPrefab, marker.GlobalPosition); var door = this.CreateChildOf<Door>(marker, DoorPrefab, marker.GlobalPosition);
door.State = DoorState.Closed; door.State = DoorState.Closed;
_doors.Add(door); _doors.Add(door);
if (connection.FromDoor is null && connection.ToDoor != door) if (doorEdge == connection.From)
{ {
connection.FromDoor = door; connection.FromDoor = door;
} }
else if (connection.ToDoor is null && connection.FromDoor != door) else if (doorEdge == connection.To)
{ {
connection.ToDoor = door; 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}"); 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); _connections.Add(connection);
// var label = new Label(); // var label = new Label();

View file

@ -169,9 +169,8 @@ public partial class RogueliteRoomManager : Node2D
GD.PrintErr("Could not spawn boss room"); 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) => room.HandleDoors((doorEdge, pos) =>
{ {
//var neighborPos = room.GridPosition + pos; //var neighborPos = room.GridPosition + pos;
@ -235,6 +234,8 @@ public partial class RogueliteRoomManager : Node2D
spawnedScene.GridPosition = gridPos; spawnedScene.GridPosition = gridPos;
spawnedScene.Name = room.RoomName;
SpawnedRooms.Add(spawnedScene); SpawnedRooms.Add(spawnedScene);
// for reference // for reference

View file

@ -150,7 +150,7 @@ movie_writer/movie_file="D:/Maddo/Recordings/Capture.avi"
[editor_plugins] [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] [global_group]