Safe Haskell | None |
---|
Semantics of server commands. See https://github.com/kosmikus/LambdaHack/wiki/Client-server-architecture.
- mainSer :: (MonadAtomic m, MonadConnServer m) => COps -> (m () -> IO ()) -> (COps -> ((FactionId -> ChanFrontend -> ChanServer CmdClientUI -> IO ()) -> (FactionId -> ChanServer CmdClientAI -> IO ()) -> IO ()) -> IO ()) -> IO ()
Documentation
mainSer :: (MonadAtomic m, MonadConnServer m) => COps -> (m () -> IO ()) -> (COps -> ((FactionId -> ChanFrontend -> ChanServer CmdClientUI -> IO ()) -> (FactionId -> ChanServer CmdClientAI -> IO ()) -> IO ()) -> IO ()) -> IO ()Source
Fire up the frontend with the engine fueled by content.
The action monad types to be used are determined by the exeSer
and executorCli
calls. If other functions are used in their place
the types are different and so the whole pattern of computation
is different. Which of the frontends is run depends on the flags supplied
when compiling the engine library.