LambdaHack-0.4.101.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

The instructions sent by clients to the raw frontend over a channel.

Constructors

FrontNormalFrame

show a frame

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

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 Source

Arguments

:: DebugModeCli

debug settings

-> (Maybe (MVar ()) -> (ChanFrontend -> IO ()) -> IO ())

continuation

-> IO () 

Initialize the frontend and apply the given continuation to the results of the initialization.