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

Safe HaskellNone
LanguageHaskell2010

Game.LambdaHack.Client.UI.Frontend

Contents

Description

Display game data on the screen and receive user input using one of the available raw frontends and derived operations.

Synopsis

Connection types.

data FrontReq Source

Constructors

FrontNormalFrame

show a frame

FrontRunningFrame

show a frame in running mode (don't insert delay between frames)

FrontDelay

perform a single explicit delay

FrontKey

flush frames, possibly show fadeout/fadein and ask for a keypress

Fields

frontKM :: ![KM]
 
frontFr :: !SingleFrame
 
FrontSlides

show a whole slideshow without interleaving with other clients

Fields

frontClear :: ![KM]
 
frontSlides :: ![SingleFrame]
 
FrontAutoYes !Bool

set the frontend option for auto-answering prompts

FrontFinish

exit frontend loop

data ChanFrontend Source

Connection channel between a frontend and a client. Frontend acts as a server, serving keys, when given frames to display.

Constructors

ChanFrontend 

Fields

responseF :: !(TQueue KM)
 
requestF :: !(TQueue FrontReq)
 

Re-exported part of the raw frontend

frontendName :: String Source

The name of the chosen frontend.

A derived operation

startupF :: DebugModeCli -> (Maybe (MVar ()) -> (ChanFrontend -> IO ()) -> IO ()) -> IO () Source