Table of Contents

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
object
Dungeon

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.asset to 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).