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

Safe HaskellNone
LanguageHaskell2010

Game.LambdaHack.Client

Contents

Description

Semantics of responses that are sent to clients.

See https://github.com/LambdaHack/LambdaHack/wiki/Client-server-architecture.

Synopsis

Re-exported from Game.LambdaHack.Client.LoopClient

loopAI :: (MonadAtomic m, MonadClientReadResponse ResponseAI m, MonadClientWriteRequest RequestAI m) => DebugModeCli -> m () Source

The main game loop for an AI client.

Re-exported from Game.LambdaHack.Client.UI

srtFrontend Source

Arguments

:: (DebugModeCli -> SessionUI -> State -> StateClient -> chanServerUI -> IO ())

UI main loop

-> (DebugModeCli -> SessionUI -> State -> StateClient -> chanServerAI -> IO ())

AI main loop

-> KeyKind

key and command content

-> COps

game content

-> DebugModeCli

client debug parameters

-> ((FactionId -> chanServerUI -> IO ()) -> (FactionId -> chanServerAI -> IO ()) -> IO ())

frontend main loop

-> IO () 

Wire together game content, the main loops of game clients, the main game loop assigned to this frontend (possibly containing the server loop, if the whole game runs in one process), UI config and the definitions of game commands.