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

Safe HaskellNone
LanguageHaskell2010

Game.LambdaHack.Content.RuleKind

Contents

Description

The type of game rule sets and assorted game data.

Synopsis

Documentation

data RuleKind Source #

The type of game rule sets and assorted game data.

In principle, it'se possible to have many rule sets and switch between them during a game session or even a single game.

Constructors

RuleKind 

Fields

Instances
Show RuleKind Source #

A dummy instance of the Show class, to satisfy general requirments about content. We won't don't expect to ever print out whole rule sets.

Instance details

Defined in Game.LambdaHack.Content.RuleKind

Generic RuleKind Source # 
Instance details

Defined in Game.LambdaHack.Content.RuleKind

Associated Types

type Rep RuleKind :: * -> * #

Methods

from :: RuleKind -> Rep RuleKind x #

to :: Rep RuleKind x -> RuleKind #

NFData RuleKind Source # 
Instance details

Defined in Game.LambdaHack.Content.RuleKind

Methods

rnf :: RuleKind -> () #

type Rep RuleKind Source # 
Instance details

Defined in Game.LambdaHack.Content.RuleKind

type Rep RuleKind = D1 (MetaData "RuleKind" "Game.LambdaHack.Content.RuleKind" "LambdaHack-0.8.1.1-B7gvMzZweCFaQcfmLNwOP" False) (C1 (MetaCons "RuleKind" PrefixI True) (((S1 (MetaSel (Just "rsymbol") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Char) :*: (S1 (MetaSel (Just "rname") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "rfreq") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 (Freqs RuleKind)))) :*: ((S1 (MetaSel (Just "rtitle") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "rfontDir") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 FilePath)) :*: (S1 (MetaSel (Just "rexeVersion") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Version) :*: S1 (MetaSel (Just "rcfgUIName") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 FilePath)))) :*: (((S1 (MetaSel (Just "rcfgUIDefault") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 String) :*: S1 (MetaSel (Just "rmainMenuArt") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text)) :*: (S1 (MetaSel (Just "rintroScreen") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 [String]) :*: S1 (MetaSel (Just "rfirstDeathEnds") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Bool))) :*: ((S1 (MetaSel (Just "rwriteSaveClips") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Int) :*: S1 (MetaSel (Just "rleadLevelClips") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Int)) :*: (S1 (MetaSel (Just "rscoresFile") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 FilePath) :*: S1 (MetaSel (Just "rnearby") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Int))))))

Internal operations

validateSingle :: RuleKind -> [Text] Source #

Catch invalid rule kind definitions.

validateAll :: [RuleKind] -> ContentData RuleKind -> [Text] Source #

Since we have only one rule kind, the set of rule kinds is always valid.