BrianMay, TechLord, D-Memory, Thanks!
Micheal Nolad, Thanks! The editor wouldn’t have been possible without your awesome training video Extending the Editor. I found it very useful.
Yes, it’s a nested graph with some root nodes called markers, which are just 3d points in space, that the algorithm lays down all over the map when building the dungeon layout (walls, ground, doors, stairs etc).
Then this graph is used to decide how the meshes are attached to these marker points in 3d space. Users can define their own markers and emit them out of meshes
In the example above, the Wall marker has three variations of wall meshes. One of these meshes has a window. So I’ve created a custom “Window” marker and attached curtains to it and added a “Window Marker Emitter” purple node out of that mesh. So, if that type of mesh is placed in the scene, it would also place a window marker along with it, which would then run the logic defined in Window
You can have a graph of arbitrary depth, as long as there are no cycles