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

Safe Haskell | None
Language | Haskell2010

Game.LambdaHack.Client.UI.Msg

Contents

- Msg
- Report
- History
- Internal operations

Description

Game messages displayed on top of the screen for the player to read and then saved to player history.

Synopsis

- data Msg
- class MsgShared a
- toMsgShared :: MsgShared a => [(String, Color)] -> a -> Text -> Msg
- toMsgDistinct :: [(String, Color)] -> MsgClassDistinct -> Text -> Text -> Msg
- data MsgClassShowAndSave
  - = MsgBookKeeping
  - | MsgStatusWakeup
  - | MsgStatusStopUs
  - | MsgStatusStopThem
  - | MsgItemCreation
  - | MsgItemRuination
  - | MsgDeathVictory
  - | MsgDeathDeafeat
  - | MsgDeathBoring
  - | MsgRiskOfDeath
  - | MsgPointmanSwap
  - | MsgFactionIntel
  - | MsgFinalOutcome
  - | MsgBackdropInfo
  - | MsgTerrainReveal
  - | MsgItemDiscovery
  - | MsgSpottedActor
  - | MsgItemMovement
  - | MsgActionMajor
  - | MsgActionMinor
  - | MsgEffectMajor
  - | MsgEffectMedium
  - | MsgEffectMinor
  - | MsgMiscellanous
  - | MsgHeardOutside
  - | MsgHeardNearby
  - | MsgHeardFaraway
  - | MsgBackdropFocus
  - | MsgActionWarning
  - | MsgRangedMightyWe
  - | MsgRangedMightyUs
  - | MsgRangedOthers
  - | MsgRangedNormalUs
  - | MsgGoodMiscEvent
  - | MsgBadMiscEvent
  - | MsgNeutralEvent
  - | MsgSpecialEvent
  - | MsgMeleeMightyWe
  - | MsgMeleeMightyUs
  - | MsgMeleeComplexWe
  - | MsgMeleeComplexUs
  - | MsgMeleeOthers
  - | MsgMeleeNormalUs
  - | MsgActionComplete
  - | MsgAtFeetMajor
  - | MsgAtFeetMinor
  - | MsgTutorialHint
- data MsgClassShow
  - = MsgPromptGeneric
  - | MsgPromptFocus
  - | MsgPromptMention
  - | MsgPromptModify
  - | MsgPromptActors
  - | MsgPromptItems
  - | MsgPromptAction
  - | MsgActionAlert
  - | MsgSpottedThreat
- data MsgClassSave
  - = MsgInnerWorkSpam
  - | MsgNumericReport
- data MsgClassIgnore
  - = MsgMacroOperation
  - | MsgRunStopReason
  - | MsgStopPlayback
- data MsgClassDistinct
  - = MsgSpottedItem
  - | MsgStatusSleep
  - | MsgStatusGoodUs
  - | MsgStatusBadUs
  - | MsgStatusOthers
  - | MsgStatusBenign
  - | MsgStatusWarning
  - | MsgStatusLongerUs
  - | MsgStatusLongThem
- data MsgClass
- interruptsRunning :: MsgClass -> Bool
- disturbsResting :: MsgClass -> Bool
- data Report
- nullVisibleReport :: Report -> Bool
- consReport :: Msg -> Report -> Report
- renderReport :: Bool -> Report -> [AttrString]
- anyInReport :: (MsgClass -> Bool) -> Report -> Bool
- data History
- newReport :: History -> Report
- emptyHistory :: Int -> History
- addToReport :: Set Msg -> Bool -> Bool -> History -> Msg -> Time -> (Set Msg, History, Bool)
- addEolToNewReport :: History -> History
- archiveReport :: History -> History
- lengthHistory :: History -> Int
- renderHistory :: History -> [AttrString]
- type UAttrString = Vector Word32
- uToAttrString :: UAttrString -> AttrString
- attrStringToU :: AttrString -> UAttrString
- toMsg :: [(String, Color)] -> MsgPrototype -> Msg
- data MsgPrototype
- tripleFromProto :: MsgPrototype -> (Text, Text, MsgClass)
- scrapsRepeats :: MsgClass -> Bool
- isTutorialHint :: MsgClass -> Bool
- msgColor :: MsgClass -> Color
- data RepMsgNK
- nullRepMsgNK :: RepMsgNK -> Bool
- emptyReport :: Report
- renderRepetition :: (AttrString, Int) -> AttrString
- scrapRepetitionSingle :: (AttrString, Int) -> [(AttrString, Int)] -> [(AttrString, Int)] -> (Bool, [(AttrString, Int)], [(AttrString, Int)])
- scrapRepetition :: History -> Maybe History
- renderTimeReport :: Time -> Report -> [AttrString]

# Msg

data Msg Source #

The type of a single game message.

#### Instances

Instances details

Binary Msg Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods put :: Msg -> Put Source # get :: Get Msg Source # putList :: [Msg] -> Put Source #
Generic Msg Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

Associated Types

type Rep Msg |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

type Rep Msg = D1 ('MetaData "Msg" "Game.LambdaHack.Client.UI.Msg" "LambdaHack-0.11.0.1-BLuOaw8nuizISmzkanqI8h" 'False) (C1 ('MetaCons "Msg" 'PrefixI 'True) (S1 ('MetaSel ('Just "msgShow") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 AttrString) :*: (S1 ('MetaSel ('Just "msgSave") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 AttrString) :*: S1 ('MetaSel ('Just "msgClass") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 MsgClass))))

Methods

from :: Msg -> Rep Msg x Source #

to :: Rep Msg x -> Msg Source #

Show Msg Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods showsPrec :: Int -> Msg -> ShowS Source # show :: Msg -> String Source # showList :: [Msg] -> ShowS Source #
Eq Msg Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods (==) :: Msg -> Msg -> Bool Source # (/=) :: Msg -> Msg -> Bool Source #
Ord Msg Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods compare :: Msg -> Msg -> Ordering Source # (<) :: Msg -> Msg -> Bool Source # (<=) :: Msg -> Msg -> Bool Source # (>) :: Msg -> Msg -> Bool Source # (>=) :: Msg -> Msg -> Bool Source # max :: Msg -> Msg -> Msg Source # min :: Msg -> Msg -> Msg Source #
type Rep Msg Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

type Rep Msg = D1 ('MetaData "Msg" "Game.LambdaHack.Client.UI.Msg" "LambdaHack-0.11.0.1-BLuOaw8nuizISmzkanqI8h" 'False) (C1 ('MetaCons "Msg" 'PrefixI 'True) (S1 ('MetaSel ('Just "msgShow") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 AttrString) :*: (S1 ('MetaSel ('Just "msgSave") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 AttrString) :*: S1 ('MetaSel ('Just "msgClass") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 MsgClass))))

class MsgShared a Source #

Minimal complete definition

toMsgShared

#### Instances

Instances details

MsgShared MsgClassIgnore Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods toMsgShared :: [(String, Color)] -> MsgClassIgnore -> Text -> Msg Source #
MsgShared MsgClassSave Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods toMsgShared :: [(String, Color)] -> MsgClassSave -> Text -> Msg Source #
MsgShared MsgClassShow Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods toMsgShared :: [(String, Color)] -> MsgClassShow -> Text -> Msg Source #
MsgShared MsgClassShowAndSave Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods toMsgShared :: [(String, Color)] -> MsgClassShowAndSave -> Text -> Msg Source #

toMsgShared :: MsgShared a => [(String, Color)] -> a -> Text -> Msg Source #

toMsgDistinct :: [(String, Color)] -> MsgClassDistinct -> Text -> Text -> Msg Source #

data MsgClassShowAndSave Source #

Constructors

MsgBookKeeping |
MsgStatusWakeup |
MsgStatusStopUs |
MsgStatusStopThem |
MsgItemCreation |
MsgItemRuination |
MsgDeathVictory |
MsgDeathDeafeat |
MsgDeathBoring |
MsgRiskOfDeath |
MsgPointmanSwap |
MsgFactionIntel |
MsgFinalOutcome |
MsgBackdropInfo |
MsgTerrainReveal |
MsgItemDiscovery |
MsgSpottedActor |
MsgItemMovement |
MsgActionMajor |
MsgActionMinor |
MsgEffectMajor |
MsgEffectMedium |
MsgEffectMinor |
MsgMiscellanous |
MsgHeardOutside |
MsgHeardNearby |
MsgHeardFaraway |
MsgBackdropFocus |
MsgActionWarning |
MsgRangedMightyWe |
MsgRangedMightyUs |
MsgRangedOthers |
MsgRangedNormalUs |
MsgGoodMiscEvent |
MsgBadMiscEvent |
MsgNeutralEvent |
MsgSpecialEvent |
MsgMeleeMightyWe |
MsgMeleeMightyUs |
MsgMeleeComplexWe |
MsgMeleeComplexUs |
MsgMeleeOthers |
MsgMeleeNormalUs |
MsgActionComplete |
MsgAtFeetMajor |
MsgAtFeetMinor |
MsgTutorialHint |

#### Instances

Instances details

MsgShared MsgClassShowAndSave Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods toMsgShared :: [(String, Color)] -> MsgClassShowAndSave -> Text -> Msg Source #
Binary MsgClassShowAndSave Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods put :: MsgClassShowAndSave -> Put Source # get :: Get MsgClassShowAndSave Source # putList :: [MsgClassShowAndSave] -> Put Source #
Bounded MsgClassShowAndSave Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods minBound :: MsgClassShowAndSave Source # maxBound :: MsgClassShowAndSave Source #
Enum MsgClassShowAndSave Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

Methods

succ :: MsgClassShowAndSave -> MsgClassShowAndSave Source #

pred :: MsgClassShowAndSave -> MsgClassShowAndSave Source #

toEnum :: Int -> MsgClassShowAndSave Source #

fromEnum :: MsgClassShowAndSave -> Int Source #

enumFrom :: MsgClassShowAndSave -> [MsgClassShowAndSave] Source #

enumFromThen :: MsgClassShowAndSave -> MsgClassShowAndSave -> [MsgClassShowAndSave] Source #

enumFromTo :: MsgClassShowAndSave -> MsgClassShowAndSave -> [MsgClassShowAndSave] Source #

enumFromThenTo :: MsgClassShowAndSave -> MsgClassShowAndSave -> MsgClassShowAndSave -> [MsgClassShowAndSave] Source #

Generic MsgClassShowAndSave Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

Associated Types

type Rep MsgClassShowAndSave |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

type Rep MsgClassShowAndSave = D1 ('MetaData "MsgClassShowAndSave" "Game.LambdaHack.Client.UI.Msg" "LambdaHack-0.11.0.1-BLuOaw8nuizISmzkanqI8h" 'False) (((((C1 ('MetaCons "MsgBookKeeping" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgStatusWakeup" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MsgStatusStopUs" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgStatusStopThem" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgItemCreation" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "MsgItemRuination" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgDeathVictory" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgDeathDeafeat" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "MsgDeathBoring" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgRiskOfDeath" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgPointmanSwap" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "MsgFactionIntel" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgFinalOutcome" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgBackdropInfo" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "MsgTerrainReveal" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgItemDiscovery" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgSpottedActor" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "MsgItemMovement" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgActionMajor" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgActionMinor" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "MsgEffectMajor" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgEffectMedium" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgEffectMinor" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "MsgMiscellanous" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgHeardOutside" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgHeardNearby" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "MsgHeardFaraway" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgBackdropFocus" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgActionWarning" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "MsgRangedMightyWe" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgRangedMightyUs" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgRangedOthers" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "MsgRangedNormalUs" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgGoodMiscEvent" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgBadMiscEvent" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "MsgNeutralEvent" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgSpecialEvent" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgMeleeMightyWe" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "MsgMeleeMightyUs" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgMeleeComplexWe" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgMeleeComplexUs" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "MsgMeleeOthers" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgMeleeNormalUs" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgActionComplete" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "MsgAtFeetMajor" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgAtFeetMinor" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgTutorialHint" 'PrefixI 'False) (U1 :: Type -> Type)))))))

Methods

from :: MsgClassShowAndSave -> Rep MsgClassShowAndSave x Source #

to :: Rep MsgClassShowAndSave x -> MsgClassShowAndSave Source #

Show MsgClassShowAndSave Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods showsPrec :: Int -> MsgClassShowAndSave -> ShowS Source # show :: MsgClassShowAndSave -> String Source # showList :: [MsgClassShowAndSave] -> ShowS Source #
Eq MsgClassShowAndSave Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods (==) :: MsgClassShowAndSave -> MsgClassShowAndSave -> Bool Source # (/=) :: MsgClassShowAndSave -> MsgClassShowAndSave -> Bool Source #
Ord MsgClassShowAndSave Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

Methods

compare :: MsgClassShowAndSave -> MsgClassShowAndSave -> Ordering Source #

(<) :: MsgClassShowAndSave -> MsgClassShowAndSave -> Bool Source #

(<=) :: MsgClassShowAndSave -> MsgClassShowAndSave -> Bool Source #

(>) :: MsgClassShowAndSave -> MsgClassShowAndSave -> Bool Source #

(>=) :: MsgClassShowAndSave -> MsgClassShowAndSave -> Bool Source #

max :: MsgClassShowAndSave -> MsgClassShowAndSave -> MsgClassShowAndSave Source #

min :: MsgClassShowAndSave -> MsgClassShowAndSave -> MsgClassShowAndSave Source #

type Rep MsgClassShowAndSave Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

type Rep MsgClassShowAndSave = D1 ('MetaData "MsgClassShowAndSave" "Game.LambdaHack.Client.UI.Msg" "LambdaHack-0.11.0.1-BLuOaw8nuizISmzkanqI8h" 'False) (((((C1 ('MetaCons "MsgBookKeeping" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgStatusWakeup" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MsgStatusStopUs" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgStatusStopThem" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgItemCreation" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "MsgItemRuination" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgDeathVictory" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgDeathDeafeat" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "MsgDeathBoring" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgRiskOfDeath" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgPointmanSwap" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "MsgFactionIntel" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgFinalOutcome" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgBackdropInfo" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "MsgTerrainReveal" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgItemDiscovery" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgSpottedActor" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "MsgItemMovement" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgActionMajor" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgActionMinor" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "MsgEffectMajor" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgEffectMedium" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgEffectMinor" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "MsgMiscellanous" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgHeardOutside" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgHeardNearby" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "MsgHeardFaraway" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgBackdropFocus" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgActionWarning" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "MsgRangedMightyWe" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgRangedMightyUs" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgRangedOthers" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "MsgRangedNormalUs" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgGoodMiscEvent" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgBadMiscEvent" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "MsgNeutralEvent" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgSpecialEvent" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgMeleeMightyWe" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "MsgMeleeMightyUs" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgMeleeComplexWe" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgMeleeComplexUs" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "MsgMeleeOthers" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgMeleeNormalUs" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgActionComplete" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "MsgAtFeetMajor" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgAtFeetMinor" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgTutorialHint" 'PrefixI 'False) (U1 :: Type -> Type)))))))

data MsgClassShow Source #

Constructors

MsgPromptGeneric |
MsgPromptFocus |
MsgPromptMention |
MsgPromptModify |
MsgPromptActors |
MsgPromptItems |
MsgPromptAction |
MsgActionAlert |
MsgSpottedThreat |

#### Instances

Instances details

MsgShared MsgClassShow Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods toMsgShared :: [(String, Color)] -> MsgClassShow -> Text -> Msg Source #
Binary MsgClassShow Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods put :: MsgClassShow -> Put Source # get :: Get MsgClassShow Source # putList :: [MsgClassShow] -> Put Source #
Bounded MsgClassShow Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods minBound :: MsgClassShow Source # maxBound :: MsgClassShow Source #
Enum MsgClassShow Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

Methods

succ :: MsgClassShow -> MsgClassShow Source #

pred :: MsgClassShow -> MsgClassShow Source #

toEnum :: Int -> MsgClassShow Source #

fromEnum :: MsgClassShow -> Int Source #

enumFrom :: MsgClassShow -> [MsgClassShow] Source #

enumFromThen :: MsgClassShow -> MsgClassShow -> [MsgClassShow] Source #

enumFromTo :: MsgClassShow -> MsgClassShow -> [MsgClassShow] Source #

enumFromThenTo :: MsgClassShow -> MsgClassShow -> MsgClassShow -> [MsgClassShow] Source #

Generic MsgClassShow Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

Associated Types

type Rep MsgClassShow |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

type Rep MsgClassShow = D1 ('MetaData "MsgClassShow" "Game.LambdaHack.Client.UI.Msg" "LambdaHack-0.11.0.1-BLuOaw8nuizISmzkanqI8h" 'False) (((C1 ('MetaCons "MsgPromptGeneric" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgPromptFocus" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MsgPromptMention" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgPromptModify" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "MsgPromptActors" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgPromptItems" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MsgPromptAction" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgActionAlert" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgSpottedThreat" 'PrefixI 'False) (U1 :: Type -> Type)))))

Methods

from :: MsgClassShow -> Rep MsgClassShow x Source #

to :: Rep MsgClassShow x -> MsgClassShow Source #

Show MsgClassShow Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods showsPrec :: Int -> MsgClassShow -> ShowS Source # show :: MsgClassShow -> String Source # showList :: [MsgClassShow] -> ShowS Source #
Eq MsgClassShow Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods (==) :: MsgClassShow -> MsgClassShow -> Bool Source # (/=) :: MsgClassShow -> MsgClassShow -> Bool Source #
Ord MsgClassShow Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

Methods

compare :: MsgClassShow -> MsgClassShow -> Ordering Source #

(<) :: MsgClassShow -> MsgClassShow -> Bool Source #

(<=) :: MsgClassShow -> MsgClassShow -> Bool Source #

(>) :: MsgClassShow -> MsgClassShow -> Bool Source #

(>=) :: MsgClassShow -> MsgClassShow -> Bool Source #

max :: MsgClassShow -> MsgClassShow -> MsgClassShow Source #

min :: MsgClassShow -> MsgClassShow -> MsgClassShow Source #

type Rep MsgClassShow Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

type Rep MsgClassShow = D1 ('MetaData "MsgClassShow" "Game.LambdaHack.Client.UI.Msg" "LambdaHack-0.11.0.1-BLuOaw8nuizISmzkanqI8h" 'False) (((C1 ('MetaCons "MsgPromptGeneric" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgPromptFocus" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MsgPromptMention" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgPromptModify" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "MsgPromptActors" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgPromptItems" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MsgPromptAction" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgActionAlert" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgSpottedThreat" 'PrefixI 'False) (U1 :: Type -> Type)))))

data MsgClassSave Source #

Constructors

MsgInnerWorkSpam |
MsgNumericReport |

#### Instances

Instances details

MsgShared MsgClassSave Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods toMsgShared :: [(String, Color)] -> MsgClassSave -> Text -> Msg Source #
Binary MsgClassSave Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods put :: MsgClassSave -> Put Source # get :: Get MsgClassSave Source # putList :: [MsgClassSave] -> Put Source #
Bounded MsgClassSave Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods minBound :: MsgClassSave Source # maxBound :: MsgClassSave Source #
Enum MsgClassSave Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

Methods

succ :: MsgClassSave -> MsgClassSave Source #

pred :: MsgClassSave -> MsgClassSave Source #

toEnum :: Int -> MsgClassSave Source #

fromEnum :: MsgClassSave -> Int Source #

enumFrom :: MsgClassSave -> [MsgClassSave] Source #

enumFromThen :: MsgClassSave -> MsgClassSave -> [MsgClassSave] Source #

enumFromTo :: MsgClassSave -> MsgClassSave -> [MsgClassSave] Source #

enumFromThenTo :: MsgClassSave -> MsgClassSave -> MsgClassSave -> [MsgClassSave] Source #

Generic MsgClassSave Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

Associated Types

type Rep MsgClassSave |
Instance details Defined in Game.LambdaHack.Client.UI.Msg type Rep MsgClassSave = D1 ('MetaData "MsgClassSave" "Game.LambdaHack.Client.UI.Msg" "LambdaHack-0.11.0.1-BLuOaw8nuizISmzkanqI8h" 'False) (C1 ('MetaCons "MsgInnerWorkSpam" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgNumericReport" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: MsgClassSave -> Rep MsgClassSave x Source #

to :: Rep MsgClassSave x -> MsgClassSave Source #

Show MsgClassSave Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods showsPrec :: Int -> MsgClassSave -> ShowS Source # show :: MsgClassSave -> String Source # showList :: [MsgClassSave] -> ShowS Source #
Eq MsgClassSave Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods (==) :: MsgClassSave -> MsgClassSave -> Bool Source # (/=) :: MsgClassSave -> MsgClassSave -> Bool Source #
Ord MsgClassSave Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

Methods

compare :: MsgClassSave -> MsgClassSave -> Ordering Source #

(<) :: MsgClassSave -> MsgClassSave -> Bool Source #

(<=) :: MsgClassSave -> MsgClassSave -> Bool Source #

(>) :: MsgClassSave -> MsgClassSave -> Bool Source #

(>=) :: MsgClassSave -> MsgClassSave -> Bool Source #

max :: MsgClassSave -> MsgClassSave -> MsgClassSave Source #

min :: MsgClassSave -> MsgClassSave -> MsgClassSave Source #

type Rep MsgClassSave Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg type Rep MsgClassSave = D1 ('MetaData "MsgClassSave" "Game.LambdaHack.Client.UI.Msg" "LambdaHack-0.11.0.1-BLuOaw8nuizISmzkanqI8h" 'False) (C1 ('MetaCons "MsgInnerWorkSpam" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgNumericReport" 'PrefixI 'False) (U1 :: Type -> Type))

data MsgClassIgnore Source #

Constructors

MsgMacroOperation |
MsgRunStopReason |
MsgStopPlayback |

#### Instances

Instances details

MsgShared MsgClassIgnore Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods toMsgShared :: [(String, Color)] -> MsgClassIgnore -> Text -> Msg Source #
Binary MsgClassIgnore Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods put :: MsgClassIgnore -> Put Source # get :: Get MsgClassIgnore Source # putList :: [MsgClassIgnore] -> Put Source #
Bounded MsgClassIgnore Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods minBound :: MsgClassIgnore Source # maxBound :: MsgClassIgnore Source #
Enum MsgClassIgnore Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

Methods

succ :: MsgClassIgnore -> MsgClassIgnore Source #

pred :: MsgClassIgnore -> MsgClassIgnore Source #

toEnum :: Int -> MsgClassIgnore Source #

fromEnum :: MsgClassIgnore -> Int Source #

enumFrom :: MsgClassIgnore -> [MsgClassIgnore] Source #

enumFromThen :: MsgClassIgnore -> MsgClassIgnore -> [MsgClassIgnore] Source #

enumFromTo :: MsgClassIgnore -> MsgClassIgnore -> [MsgClassIgnore] Source #

enumFromThenTo :: MsgClassIgnore -> MsgClassIgnore -> MsgClassIgnore -> [MsgClassIgnore] Source #

Generic MsgClassIgnore Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

Associated Types

type Rep MsgClassIgnore |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

type Rep MsgClassIgnore = D1 ('MetaData "MsgClassIgnore" "Game.LambdaHack.Client.UI.Msg" "LambdaHack-0.11.0.1-BLuOaw8nuizISmzkanqI8h" 'False) (C1 ('MetaCons "MsgMacroOperation" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgRunStopReason" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgStopPlayback" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: MsgClassIgnore -> Rep MsgClassIgnore x Source #

to :: Rep MsgClassIgnore x -> MsgClassIgnore Source #

Show MsgClassIgnore Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods showsPrec :: Int -> MsgClassIgnore -> ShowS Source # show :: MsgClassIgnore -> String Source # showList :: [MsgClassIgnore] -> ShowS Source #
Eq MsgClassIgnore Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods (==) :: MsgClassIgnore -> MsgClassIgnore -> Bool Source # (/=) :: MsgClassIgnore -> MsgClassIgnore -> Bool Source #
Ord MsgClassIgnore Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

Methods

compare :: MsgClassIgnore -> MsgClassIgnore -> Ordering Source #

(<) :: MsgClassIgnore -> MsgClassIgnore -> Bool Source #

(<=) :: MsgClassIgnore -> MsgClassIgnore -> Bool Source #

(>) :: MsgClassIgnore -> MsgClassIgnore -> Bool Source #

(>=) :: MsgClassIgnore -> MsgClassIgnore -> Bool Source #

max :: MsgClassIgnore -> MsgClassIgnore -> MsgClassIgnore Source #

min :: MsgClassIgnore -> MsgClassIgnore -> MsgClassIgnore Source #

type Rep MsgClassIgnore Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

type Rep MsgClassIgnore = D1 ('MetaData "MsgClassIgnore" "Game.LambdaHack.Client.UI.Msg" "LambdaHack-0.11.0.1-BLuOaw8nuizISmzkanqI8h" 'False) (C1 ('MetaCons "MsgMacroOperation" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgRunStopReason" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgStopPlayback" 'PrefixI 'False) (U1 :: Type -> Type)))

data MsgClassDistinct Source #

Constructors

MsgSpottedItem |
MsgStatusSleep |
MsgStatusGoodUs |
MsgStatusBadUs |
MsgStatusOthers |
MsgStatusBenign |
MsgStatusWarning |
MsgStatusLongerUs |
MsgStatusLongThem |

#### Instances

Instances details

Binary MsgClassDistinct Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods put :: MsgClassDistinct -> Put Source # get :: Get MsgClassDistinct Source # putList :: [MsgClassDistinct] -> Put Source #
Bounded MsgClassDistinct Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods minBound :: MsgClassDistinct Source # maxBound :: MsgClassDistinct Source #
Enum MsgClassDistinct Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

Methods

succ :: MsgClassDistinct -> MsgClassDistinct Source #

pred :: MsgClassDistinct -> MsgClassDistinct Source #

toEnum :: Int -> MsgClassDistinct Source #

fromEnum :: MsgClassDistinct -> Int Source #

enumFrom :: MsgClassDistinct -> [MsgClassDistinct] Source #

enumFromThen :: MsgClassDistinct -> MsgClassDistinct -> [MsgClassDistinct] Source #

enumFromTo :: MsgClassDistinct -> MsgClassDistinct -> [MsgClassDistinct] Source #

enumFromThenTo :: MsgClassDistinct -> MsgClassDistinct -> MsgClassDistinct -> [MsgClassDistinct] Source #

Generic MsgClassDistinct Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

Associated Types

type Rep MsgClassDistinct |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

type Rep MsgClassDistinct = D1 ('MetaData "MsgClassDistinct" "Game.LambdaHack.Client.UI.Msg" "LambdaHack-0.11.0.1-BLuOaw8nuizISmzkanqI8h" 'False) (((C1 ('MetaCons "MsgSpottedItem" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgStatusSleep" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MsgStatusGoodUs" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgStatusBadUs" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "MsgStatusOthers" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgStatusBenign" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MsgStatusWarning" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgStatusLongerUs" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgStatusLongThem" 'PrefixI 'False) (U1 :: Type -> Type)))))

Methods

from :: MsgClassDistinct -> Rep MsgClassDistinct x Source #

to :: Rep MsgClassDistinct x -> MsgClassDistinct Source #

Show MsgClassDistinct Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods showsPrec :: Int -> MsgClassDistinct -> ShowS Source # show :: MsgClassDistinct -> String Source # showList :: [MsgClassDistinct] -> ShowS Source #
Eq MsgClassDistinct Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods (==) :: MsgClassDistinct -> MsgClassDistinct -> Bool Source # (/=) :: MsgClassDistinct -> MsgClassDistinct -> Bool Source #
Ord MsgClassDistinct Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

Methods

compare :: MsgClassDistinct -> MsgClassDistinct -> Ordering Source #

(<) :: MsgClassDistinct -> MsgClassDistinct -> Bool Source #

(<=) :: MsgClassDistinct -> MsgClassDistinct -> Bool Source #

(>) :: MsgClassDistinct -> MsgClassDistinct -> Bool Source #

(>=) :: MsgClassDistinct -> MsgClassDistinct -> Bool Source #

max :: MsgClassDistinct -> MsgClassDistinct -> MsgClassDistinct Source #

min :: MsgClassDistinct -> MsgClassDistinct -> MsgClassDistinct Source #

type Rep MsgClassDistinct Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

type Rep MsgClassDistinct = D1 ('MetaData "MsgClassDistinct" "Game.LambdaHack.Client.UI.Msg" "LambdaHack-0.11.0.1-BLuOaw8nuizISmzkanqI8h" 'False) (((C1 ('MetaCons "MsgSpottedItem" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgStatusSleep" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MsgStatusGoodUs" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgStatusBadUs" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "MsgStatusOthers" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgStatusBenign" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MsgStatusWarning" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MsgStatusLongerUs" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MsgStatusLongThem" 'PrefixI 'False) (U1 :: Type -> Type)))))

data MsgClass Source #

#### Instances

Instances details

Binary MsgClass Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods put :: MsgClass -> Put Source # get :: Get MsgClass Source # putList :: [MsgClass] -> Put Source #
Generic MsgClass Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

Associated Types

type Rep MsgClass |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

type Rep MsgClass = D1 ('MetaData "MsgClass" "Game.LambdaHack.Client.UI.Msg" "LambdaHack-0.11.0.1-BLuOaw8nuizISmzkanqI8h" 'False) ((C1 ('MetaCons "MsgClassShowAndSave" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 MsgClassShowAndSave)) :+: C1 ('MetaCons "MsgClassShow" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 MsgClassShow))) :+: (C1 ('MetaCons "MsgClassSave" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 MsgClassSave)) :+: (C1 ('MetaCons "MsgClassIgnore" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 MsgClassIgnore)) :+: C1 ('MetaCons "MsgClassDistinct" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 MsgClassDistinct)))))

Methods

from :: MsgClass -> Rep MsgClass x Source #

to :: Rep MsgClass x -> MsgClass Source #

Show MsgClass Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods showsPrec :: Int -> MsgClass -> ShowS Source # show :: MsgClass -> String Source # showList :: [MsgClass] -> ShowS Source #
Eq MsgClass Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods (==) :: MsgClass -> MsgClass -> Bool Source # (/=) :: MsgClass -> MsgClass -> Bool Source #
Ord MsgClass Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods compare :: MsgClass -> MsgClass -> Ordering Source # (<) :: MsgClass -> MsgClass -> Bool Source # (<=) :: MsgClass -> MsgClass -> Bool Source # (>) :: MsgClass -> MsgClass -> Bool Source # (>=) :: MsgClass -> MsgClass -> Bool Source # max :: MsgClass -> MsgClass -> MsgClass Source # min :: MsgClass -> MsgClass -> MsgClass Source #
type Rep MsgClass Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

type Rep MsgClass = D1 ('MetaData "MsgClass" "Game.LambdaHack.Client.UI.Msg" "LambdaHack-0.11.0.1-BLuOaw8nuizISmzkanqI8h" 'False) ((C1 ('MetaCons "MsgClassShowAndSave" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 MsgClassShowAndSave)) :+: C1 ('MetaCons "MsgClassShow" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 MsgClassShow))) :+: (C1 ('MetaCons "MsgClassSave" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 MsgClassSave)) :+: (C1 ('MetaCons "MsgClassIgnore" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 MsgClassIgnore)) :+: C1 ('MetaCons "MsgClassDistinct" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 MsgClassDistinct)))))

interruptsRunning :: MsgClass -> Bool Source #

disturbsResting :: MsgClass -> Bool Source #

# Report

data Report Source #

The set of messages, with repetitions, to show at the screen at once.

#### Instances

Instances details

Binary Report Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods put :: Report -> Put Source # get :: Get Report Source # putList :: [Report] -> Put Source #
Show Report Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods showsPrec :: Int -> Report -> ShowS Source # show :: Report -> String Source # showList :: [Report] -> ShowS Source #

nullVisibleReport :: Report -> Bool Source #

Test if the list of non-whitespace messages is empty.

consReport :: Msg -> Report -> Report Source #

Add a message to the start of report.

renderReport :: Bool -> Report -> [AttrString] Source #

Render a report as a (possibly very long) list of `AttrString`.

anyInReport :: (MsgClass -> Bool) -> Report -> Bool Source #

# History

data History Source #

The history of reports. This is a ring buffer of the given length containing old archived history and two most recent reports stored separately.

#### Instances

Instances details

Binary History Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods put :: History -> Put Source # get :: Get History Source # putList :: [History] -> Put Source #
Generic History Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

Associated Types

type Rep History |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

type Rep History = D1 ('MetaData "History" "Game.LambdaHack.Client.UI.Msg" "LambdaHack-0.11.0.1-BLuOaw8nuizISmzkanqI8h" 'False) (C1 ('MetaCons "History" 'PrefixI 'True) ((S1 ('MetaSel ('Just "newReport") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Report) :*: S1 ('MetaSel ('Just "newTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Time)) :*: (S1 ('MetaSel ('Just "oldReport") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Report) :*: (S1 ('MetaSel ('Just "oldTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Time) :*: S1 ('MetaSel ('Just "archivedHistory") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (RingBuffer UAttrString))))))

Methods

from :: History -> Rep History x Source #

to :: Rep History x -> History Source #

Show History Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods showsPrec :: Int -> History -> ShowS Source # show :: History -> String Source # showList :: [History] -> ShowS Source #
type Rep History Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

type Rep History = D1 ('MetaData "History" "Game.LambdaHack.Client.UI.Msg" "LambdaHack-0.11.0.1-BLuOaw8nuizISmzkanqI8h" 'False) (C1 ('MetaCons "History" 'PrefixI 'True) ((S1 ('MetaSel ('Just "newReport") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Report) :*: S1 ('MetaSel ('Just "newTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Time)) :*: (S1 ('MetaSel ('Just "oldReport") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Report) :*: (S1 ('MetaSel ('Just "oldTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Time) :*: S1 ('MetaSel ('Just "archivedHistory") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (RingBuffer UAttrString))))))

newReport :: History -> Report Source #

emptyHistory :: Int -> History Source #

Empty history of the given maximal length.

addToReport :: Set Msg -> Bool -> Bool -> History -> Msg -> Time -> (Set Msg, History, Bool) Source #

Add a message to the new report of history, eliminating a possible duplicate and noting its existence in the result.

addEolToNewReport :: History -> History Source #

Add a newline to end of the new report of history, unless empty.

archiveReport :: History -> History Source #

Archive old report to history, filtering out messages with 0 duplicates and prompts. Set up new report with a new timestamp.

lengthHistory :: History -> Int Source #

renderHistory :: History -> [AttrString] Source #

Render history as many lines of text. New report is not rendered. It's expected to be empty when history is shown.

# Internal operations

type UAttrString = Vector Word32 Source #

uToAttrString :: UAttrString -> AttrString Source #

attrStringToU :: AttrString -> UAttrString Source #

toMsg :: [(String, Color)] -> MsgPrototype -> Msg Source #

data MsgPrototype Source #

tripleFromProto :: MsgPrototype -> (Text, Text, MsgClass) Source #

scrapsRepeats :: MsgClass -> Bool Source #

isTutorialHint :: MsgClass -> Bool Source #

msgColor :: MsgClass -> Color Source #

data RepMsgNK Source #

#### Instances

Instances details

Binary RepMsgNK Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods put :: RepMsgNK -> Put Source # get :: Get RepMsgNK Source # putList :: [RepMsgNK] -> Put Source #
Generic RepMsgNK Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

Associated Types

type Rep RepMsgNK |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

type Rep RepMsgNK = D1 ('MetaData "RepMsgNK" "Game.LambdaHack.Client.UI.Msg" "LambdaHack-0.11.0.1-BLuOaw8nuizISmzkanqI8h" 'False) (C1 ('MetaCons "RepMsgNK" 'PrefixI 'True) (S1 ('MetaSel ('Just "repMsg") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Msg) :*: (S1 ('MetaSel ('Just "_repShow") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Just "_repSave") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int))))

Methods

from :: RepMsgNK -> Rep RepMsgNK x Source #

to :: Rep RepMsgNK x -> RepMsgNK Source #

Show RepMsgNK Source # |
Instance details Defined in Game.LambdaHack.Client.UI.Msg Methods showsPrec :: Int -> RepMsgNK -> ShowS Source # show :: RepMsgNK -> String Source # showList :: [RepMsgNK] -> ShowS Source #
type Rep RepMsgNK Source # |

Instance details

Defined in Game.LambdaHack.Client.UI.Msg

type Rep RepMsgNK = D1 ('MetaData "RepMsgNK" "Game.LambdaHack.Client.UI.Msg" "LambdaHack-0.11.0.1-BLuOaw8nuizISmzkanqI8h" 'False) (C1 ('MetaCons "RepMsgNK" 'PrefixI 'True) (S1 ('MetaSel ('Just "repMsg") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Msg) :*: (S1 ('MetaSel ('Just "_repShow") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Just "_repSave") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int))))

nullRepMsgNK :: RepMsgNK -> Bool Source #

If only one of the message components is non-empty and non-whitespace, but its count is zero, the message is considered empty.

emptyReport :: Report Source #

Empty set of messages.

renderRepetition :: (AttrString, Int) -> AttrString Source #

scrapRepetitionSingle :: (AttrString, Int) -> [(AttrString, Int)] -> [(AttrString, Int)] -> (Bool, [(AttrString, Int)], [(AttrString, Int)]) Source #

scrapRepetition :: History -> Maybe History Source #

renderTimeReport :: Time -> Report -> [AttrString] Source #