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 Source #

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 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.

Generic RuleKind Source # 

Associated Types

type Rep RuleKind :: * -> * #

Methods

from :: RuleKind -> Rep RuleKind x #

to :: Rep RuleKind x -> RuleKind #

NFData RuleKind Source # 

Methods

rnf :: RuleKind -> () #

type Rep RuleKind Source # 
type Rep RuleKind = D1 * (MetaData "RuleKind" "Game.LambdaHack.Content.RuleKind" "LambdaHack-0.8.3.0-7BJnKAztOSt10pFm84xYR4" False) (C1 * (MetaCons "RuleKind" PrefixI True) ((:*:) * ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "rsymbol") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 * Char)) ((:*:) * (S1 * (MetaSel (Just Symbol "rname") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 * Text)) (S1 * (MetaSel (Just Symbol "rfreq") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 * (Freqs RuleKind))))) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "rtitle") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 * Text)) (S1 * (MetaSel (Just Symbol "rfontDir") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 * FilePath))) ((:*:) * (S1 * (MetaSel (Just Symbol "rexeVersion") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 * Version)) (S1 * (MetaSel (Just Symbol "rcfgUIName") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 * FilePath))))) ((:*:) * ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "rcfgUIDefault") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 * String)) (S1 * (MetaSel (Just Symbol "rmainMenuArt") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 * Text))) ((:*:) * (S1 * (MetaSel (Just Symbol "rintroScreen") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 * [String])) (S1 * (MetaSel (Just Symbol "rfirstDeathEnds") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 * Bool)))) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "rwriteSaveClips") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 * Int)) (S1 * (MetaSel (Just Symbol "rleadLevelClips") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 * Int))) ((:*:) * (S1 * (MetaSel (Just Symbol "rscoresFile") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 * FilePath)) (S1 * (MetaSel (Just Symbol "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.