Safe Haskell | None |
---|
Abstract syntax of client commands. See https://github.com/kosmikus/LambdaHack/wiki/Client-server-architecture.
- data CmdClientAI
- = CmdAtomicAI !CmdAtomic
- | CmdQueryAI !ActorId
- | CmdPingAI
- data CmdClientUI
- = CmdAtomicUI !CmdAtomic
- | SfxAtomicUI !SfxAtomic
- | CmdQueryUI !ActorId
- | CmdPingUI
- debugCmdClientAI :: MonadActionRO m => CmdClientAI -> m Text
- debugCmdClientUI :: MonadActionRO m => CmdClientUI -> m Text
- debugAid :: (MonadActionRO m, Show a) => ActorId -> Text -> a -> m Text
- data ChanServer c d = ChanServer {
- fromServer :: !(TQueue c)
- toServer :: !(TQueue d)
- type ConnServerFaction = (Maybe (ChanFrontend, ChanServer CmdClientUI CmdSer), ChanServer CmdClientAI CmdSerTakeTime)
- type ConnServerDict = EnumMap FactionId ConnServerFaction
Documentation
data CmdClientAI
Abstract syntax of client commands that don't use the UI.
data CmdClientUI
Abstract syntax of client commands that use the UI.
debugCmdClientAI :: MonadActionRO m => CmdClientAI -> m Text
debugCmdClientUI :: MonadActionRO m => CmdClientUI -> m Text
debugAid :: (MonadActionRO m, Show a) => ActorId -> Text -> a -> m Text
data ChanServer c d
Connection channels between the server and a single client.
ChanServer | |
|
type ConnServerFaction = (Maybe (ChanFrontend, ChanServer CmdClientUI CmdSer), ChanServer CmdClientAI CmdSerTakeTime)
Connections to the human-controlled client of a faction and to the AI client for the same faction.
type ConnServerDict = EnumMap FactionId ConnServerFaction
Connection information for all factions, indexed by faction identifier.