LambdaHack-0.6.1.0: A game engine library for roguelike dungeon crawlers

Safe HaskellNone
LanguageHaskell2010

Game.LambdaHack.Client.UI.MonadClientUI

Contents

Description

Client monad for interacting with a human through UI.

Synopsis

Client UI monad

class MonadClient m => MonadClientUI m where Source #

The monad that gives the client access to UI operations.

Minimal complete definition

getsSession, modifySession, liftIO

Methods

getsSession :: (SessionUI -> a) -> m a Source #

modifySession :: (SessionUI -> SessionUI) -> m () Source #

liftIO :: IO a -> m a Source #

Assorted primitives

mapStartY :: Y Source #

The row where the dungeon map starts.

displayFrames :: MonadClientUI m => LevelId -> Frames -> m () Source #

Push frames or delays to the frame queue. The frames depict the lid level.

connFrontendFrontKey :: MonadClientUI m => [KM] -> FrameForall -> m KM Source #

Write FrontKey UI request to the frontend, read the reply, set pointer, return key.

partAidLeader :: MonadClientUI m => ActorId -> m Part Source #

The part of speech describing the actor (designated by actor id and present in the dungeon) or a special name if a leader of the observer's faction.

partActorLeader :: MonadClientUI m => ActorId -> ActorUI -> m Part Source #

The part of speech describing the actor or "you" if a leader of the client's faction. The actor may be not present in the dungeon.

partPronounLeader :: MonadClient m => ActorId -> ActorUI -> m Part Source #

The part of speech with the actor's pronoun or "you" if a leader of the client's faction. The actor may be not present in the dungeon.