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

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

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

Split current report into a slideshow.

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

Split current report into a slideshow. Keep report unchanged.

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

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 () #

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

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

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

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.