I use a Data Table system to store infos about rooms/paths to spawn in a more convenient way.
The tables wich are used through the generation are linked inside the DungeonGenerator (In the Tables section) :
There are two kinds of tables : The ones for Room datas and the ones for Path datas.
Let's see how Path data tables look like :
How it works :
Paths and Rooms are generated on a grid. This grid is composed of cells. Each cell can be of a certain type (For example you'll find Door cells or Border cells inside rooms). Based on that, the system defines several "zones" on which items will be spawned.
So the ItemZone is only the type of emplacement on which certain items could be spawned. Inside the Walls zone you'll put all your wall meshes, inside the Border zone you'll put all the meshes which will be spawned on cells placed on borders (torches,...), and so on.
ItemBundle : they are just lists of items which can be spawned inside a specific emplacement. For example you can put both a wall and a torch inside a bundle to spawn both of those at each wall emplacement.
And here is the Room Data Table :
Room options :
Zone configuration options :