Safe Haskell | None |
---|---|
Language | Haskell2010 |
Semantics of responses that are sent to clients.
See https://github.com/LambdaHack/LambdaHack/wiki/Client-server-architecture.
- loopAI :: (MonadAtomic m, MonadClientReadResponse ResponseAI m, MonadClientWriteRequest RequestAI m) => DebugModeCli -> m ()
- loopUI :: (MonadClientUI m, MonadAtomic m, MonadClientReadResponse ResponseUI m, MonadClientWriteRequest RequestUI m) => DebugModeCli -> m ()
- srtFrontend :: (DebugModeCli -> SessionUI -> State -> StateClient -> chanServerUI -> IO ()) -> (DebugModeCli -> SessionUI -> State -> StateClient -> chanServerAI -> IO ()) -> KeyKind -> COps -> DebugModeCli -> ((FactionId -> chanServerUI -> IO ()) -> (FactionId -> chanServerAI -> IO ()) -> IO ()) -> IO ()
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.
loopUI :: (MonadClientUI m, MonadAtomic m, MonadClientReadResponse ResponseUI m, MonadClientWriteRequest RequestUI m) => DebugModeCli -> m () Source
The main game loop for a UI client.
Re-exported from Game.LambdaHack.Client.UI
:: (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.