diff --git a/DungeonShooting_Godot/src/framework/generate/GenerateDungeon.cs b/DungeonShooting_Godot/src/framework/generate/GenerateDungeon.cs index ae63205..a34f740 100644 --- a/DungeonShooting_Godot/src/framework/generate/GenerateDungeon.cs +++ b/DungeonShooting_Godot/src/framework/generate/GenerateDungeon.cs @@ -388,6 +388,8 @@ roomDoor.HasCross = true; roomDoor.Cross = cross; + nextRoomDoor.HasCross = true; + nextRoomDoor.Cross = cross; room.Doors.Add(roomDoor); nextRoom.Doors.Add(nextRoomDoor); diff --git a/DungeonShooting_Godot/src/game/room/RoomManager.cs b/DungeonShooting_Godot/src/game/room/RoomManager.cs index 9ea3da7..a7f5591 100644 --- a/DungeonShooting_Godot/src/game/room/RoomManager.cs +++ b/DungeonShooting_Godot/src/game/room/RoomManager.cs @@ -776,7 +776,7 @@ //绘制房间区域 DrawRect(new Rect2(room.Position * cellSize, room.Size * cellSize), Colors.Blue, false); - if (roomDoor.HasCross) + if (roomDoor.HasCross && roomDoor.RoomInfo.Id < roomDoor.ConnectRoom.Id) { DrawRect(new Rect2(roomDoor.Cross * cellSize, cellSize * 4), Colors.Yellow, false); } diff --git a/DungeonShooting_Godot/src/test/TestGenerateDungeon.cs b/DungeonShooting_Godot/src/test/TestGenerateDungeon.cs index 0af3b4b..e515789 100644 --- a/DungeonShooting_Godot/src/test/TestGenerateDungeon.cs +++ b/DungeonShooting_Godot/src/test/TestGenerateDungeon.cs @@ -94,7 +94,7 @@ break; } - if (roomDoor.HasCross) + if (roomDoor.HasCross && roomDoor.RoomInfo.Id < roomDoor.ConnectRoom.Id) { DrawRect(new Rect2(roomDoor.Cross * cellSize, cellSize * 4), Colors.Yellow); }