LambdaHack-0.8.3.0: 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 #

The type of game rule sets and assorted game data.

In principle, it's 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 #

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

Defined in Game.LambdaHack.Content.RuleKind

Methods

rnf :: RuleKind -> () #

type Rep RuleKind # 
Instance details

Defined in Game.LambdaHack.Content.RuleKind

type Rep RuleKind = D1 (MetaData "RuleKind" "Game.LambdaHack.Content.RuleKind" "LambdaHack-0.8.3.0-1hn0NFDS4ux6qD3ggO7yse" 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] #

Catch invalid rule kind definitions.

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

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