| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Game.LambdaHack.Content.PlaceKind
Contents
Description
The type of kinds of rooms, halls and passages.
Synopsis
- data PlaceKind = PlaceKind {}
- makeData :: ContentData TileKind -> [PlaceKind] -> ContentData PlaceKind
- data Cover
- data Fence
- data PlaceEntry
- deadEndId :: ContentId PlaceKind
- validateSingle :: PlaceKind -> [Text]
- validateAll :: ContentData TileKind -> [PlaceKind] -> ContentData PlaceKind -> [Text]
Documentation
Parameters for the generation of small areas within a dungeon level.
Constructors
| PlaceKind | |
Fields
| |
makeData :: ContentData TileKind -> [PlaceKind] -> ContentData PlaceKind Source #
A method of filling the whole area (except for CVerbatim and CMirror, which are just placed in the middle of the area) by transforming a given corner.
Constructors
| CAlternate | reflect every other corner, overlapping 1 row and column |
| CStretch | fill symmetrically 4 corners and stretch their borders |
| CReflect | tile separately and symmetrically quarters of the place |
| CVerbatim | just build the given interior, without filling the area |
| CMirror | build the given interior in one of 4 mirrored variants |
The choice of a fence type for the place.
Constructors
| FWall | put a solid wall fence around the place |
| FFloor | leave an empty space, like the room's floor |
| FGround | leave an empty space, like the cave's ground |
| FNone | skip the fence and fill all with the place proper |
data PlaceEntry Source #
Instances
Internal operations
validateSingle :: PlaceKind -> [Text] Source #
Catch invalid place kind definitions. In particular, verify that the top-left corner map is rectangular and not empty.
validateAll :: ContentData TileKind -> [PlaceKind] -> ContentData PlaceKind -> [Text] Source #
Validate all place kinds.