Safe Haskell | None |
---|---|
Language | Haskell2010 |
The type of kinds of rooms, halls and passages.
Synopsis
- data PlaceKind = PlaceKind {}
- makeData :: ContentData TileKind -> [PlaceKind] -> ContentData PlaceKind
- data Cover
- data Fence
- validateSingle :: PlaceKind -> [Text]
- validateAll :: ContentData TileKind -> [PlaceKind] -> ContentData PlaceKind -> [Text]
Documentation
Parameters for the generation of small areas within a dungeon level.
PlaceKind | |
|
Instances
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.
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 |
Instances
Eq Cover Source # | |
Show Cover Source # | |
Generic Cover Source # | |
NFData Cover Source # | |
Defined in Game.LambdaHack.Content.PlaceKind | |
type Rep Cover Source # | |
Defined in Game.LambdaHack.Content.PlaceKind type Rep Cover = D1 (MetaData "Cover" "Game.LambdaHack.Content.PlaceKind" "LambdaHack-0.8.0.0-F0O84Ns8lID9eizm4mHo10" False) ((C1 (MetaCons "CAlternate" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "CStretch" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "CReflect" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "CVerbatim" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "CMirror" PrefixI False) (U1 :: * -> *)))) |
The choice of a fence type for the place.
FWall | put a solid wall fence around the place |
FFloor | leave an empty space, like the rooms floor |
FGround | leave an empty space, like the caves ground |
FNone | skip the fence and fill all with the place proper |
Instances
Eq Fence Source # | |
Show Fence Source # | |
Generic Fence Source # | |
NFData Fence Source # | |
Defined in Game.LambdaHack.Content.PlaceKind | |
type Rep Fence Source # | |
Defined in Game.LambdaHack.Content.PlaceKind type Rep Fence = D1 (MetaData "Fence" "Game.LambdaHack.Content.PlaceKind" "LambdaHack-0.8.0.0-F0O84Ns8lID9eizm4mHo10" False) ((C1 (MetaCons "FWall" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "FFloor" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "FGround" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "FNone" PrefixI False) (U1 :: * -> *))) |
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.