Safe Haskell | None |
---|
Game.LambdaHack.Client
Description
Semantics of client commands. See https://github.com/kosmikus/LambdaHack/wiki/Client-server-architecture.
- cmdClientAISem :: (MonadAtomic m, MonadClientWriteServer CmdTakeTimeSer m) => CmdClientAI -> m ()
- cmdClientUISem :: (MonadAtomic m, MonadClientUI m, MonadClientWriteServer CmdSer m) => CmdClientUI -> m ()
- exeFrontend :: (MonadAtomic m, MonadClientUI m, MonadClientReadServer CmdClientUI m, MonadClientWriteServer CmdSer m, MonadAtomic n, MonadClientReadServer CmdClientAI n, MonadClientWriteServer CmdTakeTimeSer n) => (m () -> SessionUI -> State -> StateClient -> ChanServer CmdClientUI CmdSer -> IO ()) -> (n () -> SessionUI -> State -> StateClient -> ChanServer CmdClientAI CmdTakeTimeSer -> IO ()) -> COps -> DebugModeCli -> ((FactionId -> ChanFrontend -> ChanServer CmdClientUI CmdSer -> IO ()) -> (FactionId -> ChanServer CmdClientAI CmdTakeTimeSer -> IO ()) -> IO ()) -> IO ()
- class MonadActionRO m => MonadClient m
- class MonadClient m => MonadClientUI m
- class MonadClient m => MonadClientReadServer c m | m -> c
- class MonadClient m => MonadClientWriteServer d m | m -> d
Documentation
cmdClientAISem :: (MonadAtomic m, MonadClientWriteServer CmdTakeTimeSer m) => CmdClientAI -> m ()Source
cmdClientUISem :: (MonadAtomic m, MonadClientUI m, MonadClientWriteServer CmdSer m) => CmdClientUI -> m ()Source
exeFrontend :: (MonadAtomic m, MonadClientUI m, MonadClientReadServer CmdClientUI m, MonadClientWriteServer CmdSer m, MonadAtomic n, MonadClientReadServer CmdClientAI n, MonadClientWriteServer CmdTakeTimeSer n) => (m () -> SessionUI -> State -> StateClient -> ChanServer CmdClientUI CmdSer -> IO ()) -> (n () -> SessionUI -> State -> StateClient -> ChanServer CmdClientAI CmdTakeTimeSer -> IO ()) -> COps -> DebugModeCli -> ((FactionId -> ChanFrontend -> ChanServer CmdClientUI CmdSer -> IO ()) -> (FactionId -> ChanServer CmdClientAI CmdTakeTimeSer -> 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.
class MonadActionRO m => MonadClient m Source
Instances
MonadClient (ActionCli c d) |
class MonadClient m => MonadClientUI m Source
Instances
MonadClientUI (ActionCli c d) |
class MonadClient m => MonadClientReadServer c m | m -> cSource
Instances
MonadClientReadServer c (ActionCli c d) |
class MonadClient m => MonadClientWriteServer d m | m -> dSource
Instances
MonadClientWriteServer d (ActionCli c d) |