About the dungeon what's the process to generate the room. Each room contains a reference to the next room to spawn room? Or there's a script that controls the generation of each room and their openings?
All rooms of a level are generated at the start and saved in an dictionary with their grid coordinates, when the player moves into one door it emits a signal to the map with the direction of the door