LambdaHack-0.8.1.2: A game engine library for tactical squad ASCII roguelike dungeon crawlers

Safe HaskellNone
LanguageHaskell2010

Game.LambdaHack.Content.PlaceKind

Contents

Description

The type of kinds of rooms, halls and passages.

Synopsis

Documentation

data PlaceKind Source #

Parameters for the generation of small areas within a dungeon level.

Constructors

PlaceKind 

Fields

Instances
Show PlaceKind Source # 
Instance details

Defined in Game.LambdaHack.Content.PlaceKind

Generic PlaceKind Source # 
Instance details

Defined in Game.LambdaHack.Content.PlaceKind

Associated Types

type Rep PlaceKind :: * -> * #

NFData PlaceKind Source # 
Instance details

Defined in Game.LambdaHack.Content.PlaceKind

Methods

rnf :: PlaceKind -> () #

type Rep PlaceKind Source # 
Instance details

Defined in Game.LambdaHack.Content.PlaceKind

data Cover 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

Instances
Eq Cover Source # 
Instance details

Defined in Game.LambdaHack.Content.PlaceKind

Methods

(==) :: Cover -> Cover -> Bool #

(/=) :: Cover -> Cover -> Bool #

Show Cover Source # 
Instance details

Defined in Game.LambdaHack.Content.PlaceKind

Methods

showsPrec :: Int -> Cover -> ShowS #

show :: Cover -> String #

showList :: [Cover] -> ShowS #

Generic Cover Source # 
Instance details

Defined in Game.LambdaHack.Content.PlaceKind

Associated Types

type Rep Cover :: * -> * #

Methods

from :: Cover -> Rep Cover x #

to :: Rep Cover x -> Cover #

NFData Cover Source # 
Instance details

Defined in Game.LambdaHack.Content.PlaceKind

Methods

rnf :: Cover -> () #

type Rep Cover Source # 
Instance details

Defined in Game.LambdaHack.Content.PlaceKind

type Rep Cover = D1 (MetaData "Cover" "Game.LambdaHack.Content.PlaceKind" "LambdaHack-0.8.1.2-9Fmfvbfsr9xEInnejydwaW" 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 :: * -> *))))

data Fence Source #

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 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 # 
Instance details

Defined in Game.LambdaHack.Content.PlaceKind

Methods

(==) :: Fence -> Fence -> Bool #

(/=) :: Fence -> Fence -> Bool #

Show Fence Source # 
Instance details

Defined in Game.LambdaHack.Content.PlaceKind

Methods

showsPrec :: Int -> Fence -> ShowS #

show :: Fence -> String #

showList :: [Fence] -> ShowS #

Generic Fence Source # 
Instance details

Defined in Game.LambdaHack.Content.PlaceKind

Associated Types

type Rep Fence :: * -> * #

Methods

from :: Fence -> Rep Fence x #

to :: Rep Fence x -> Fence #

NFData Fence Source # 
Instance details

Defined in Game.LambdaHack.Content.PlaceKind

Methods

rnf :: Fence -> () #

type Rep Fence Source # 
Instance details

Defined in Game.LambdaHack.Content.PlaceKind

type Rep Fence = D1 (MetaData "Fence" "Game.LambdaHack.Content.PlaceKind" "LambdaHack-0.8.1.2-9Fmfvbfsr9xEInnejydwaW" 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.