Class Dungeon
- Namespace
- GrindFest.Editor.DungeonBuilding.Fluent
- Assembly
- GrindFest.dll
Entry point for fluent dungeon authoring. Produces PGG assets (FieldSetup / ModificatorsPack / RoomShape) from a high-level, intent-based description.
Usage:
var shell = Dungeon.Shell("ChurchShell")
.StoneWalls()
.StoneFloors()
.WallProps(ChurchPropPalette.CandleWall, tag: "Light", minSpacing: 2)
.Save();
Dungeon.Room("ChurchOssuary").Size(5, 4)
.Shell(shell)
.DressCorners(ChurchPropPalette.SkullPiles)
.DressWalls(ChurchPropPalette.BonePiles, probability: 0.65f)
.DressFloor(ChurchPropPalette.Skulls, probability: 0.18f)
.Save();
Each .Save() writes/overwrites a PGG FieldSetup asset
under Assets/_GrindFest/Dungeons/Fields/ and a backing
ModificatorsPack under Assets/_GrindFest/Dungeons/Mods/.
Validation runs before save and reports missing prefabs, conflicting
rules, and selectors that match zero cells.
public static class Dungeon
- Inheritance
-
objectDungeon
Methods
- Define(string)
Begin authoring a complete dungeon definition (BuildPlanner + room roster + connection rules). Top-level container that ties rooms together with an explicit layout algorithm.
- Room(string)
Begin authoring a room. The room's PGG asset will be named
{name}_Code.assetto distinguish from hand-authored assets.
- Shell(string)
Begin authoring a shared shell (walls, floors, pillars, base lighting) that multiple rooms can reuse via Shell(ShellBuilder).