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

Safe HaskellNone
LanguageHaskell2010

Game.LambdaHack.Client.UI.SlideshowM

Description

Monadic operations on slideshows and related data.

Synopsis

Documentation

overlayToSlideshow :: MonadClientUI m => Y -> [KM] -> OKX -> m Slideshow Source #

Add current report to the overlay, split the result and produce, possibly, many slides.

reportToSlideshow :: MonadClientUI m => [KM] -> m Slideshow Source #

Split current report into a slideshow.

reportToSlideshowKeep :: MonadClientUI m => [KM] -> m Slideshow Source #

Split current report into a slideshow. Keep report unchanged.

displaySpaceEsc :: MonadClientUI m => ColorMode -> Text -> m Bool Source #

Display a message. Return value indicates if the player wants to continue. Feature: if many pages, only the last SPACE exits (but first ESC).

displayMore :: MonadClientUI m => ColorMode -> Text -> m () Source #

Display a message. Ignore keypresses. Feature: if many pages, only the last SPACE exits (but first ESC).

displayYesNo :: MonadClientUI m => ColorMode -> Text -> m Bool Source #

Print a yes/no question and return the player's answer. Use black and white colours to turn player's attention to the choice.

displayChoiceScreen :: forall m. MonadClientUI m => String -> ColorMode -> Bool -> Slideshow -> [KM] -> m (Either KM SlotChar) Source #

Display a, potentially, multi-screen menu and return the chosen key or item slot label (and the index in the whole menu so that the cursor can again be placed at that spot next time menu is displayed).

This function is the only source of menus and so, effectively, UI modes.