LambdaHack-0.2.14: A roguelike game engine in early development

Safe HaskellNone
LanguageHaskell2010

Game.LambdaHack.Client

Description

Semantics of responses that are sent to clients.

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

Synopsis

Documentation

exeFrontend :: (MonadAtomic m, MonadClientUI m, MonadClientReadResponse ResponseUI m, MonadClientWriteRequest RequestUI m, MonadAtomic n, MonadClientReadResponse ResponseAI n, MonadClientWriteRequest RequestAI n) => (m () -> SessionUI -> State -> StateClient -> chanServerUI -> IO ()) -> (n () -> SessionUI -> State -> StateClient -> chanServerAI -> IO ()) -> KeyKind -> COps -> DebugModeCli -> ((FactionId -> chanServerUI -> IO ()) -> (FactionId -> chanServerAI -> IO ()) -> IO ()) -> IO () Source

Wire together game content, the main loop 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.