Safe Haskell | None |
---|---|
Language | Haskell2010 |
Sending atomic commands to clients and executing them on the server.
See https://github.com/LambdaHack/LambdaHack/wiki/Client-server-architecture.
Synopsis
- handleAndBroadcast :: (MonadServerAtomic m, MonadServerReadRequest m) => PosAtomic -> [UpdAtomic] -> CmdAtomic -> m ()
- sendPer :: (MonadServerAtomic m, MonadServerReadRequest m) => FactionId -> LevelId -> Perception -> Perception -> Perception -> m ()
- handleCmdAtomicServer :: MonadServerAtomic m => UpdAtomic -> m (PosAtomic, [UpdAtomic], Bool)
- loudUpdAtomic :: MonadStateRead m => Bool -> UpdAtomic -> m (Maybe SfxMsg)
- loudSfxAtomic :: MonadStateRead m => Bool -> SfxAtomic -> m (Maybe SfxMsg)
- atomicForget :: FactionId -> LevelId -> Perception -> State -> [UpdAtomic]
- atomicRemember :: LevelId -> Perception -> State -> State -> [UpdAtomic]
Documentation
handleAndBroadcast :: (MonadServerAtomic m, MonadServerReadRequest m) => PosAtomic -> [UpdAtomic] -> CmdAtomic -> m () Source #
Send an atomic action to all clients that can see it.
sendPer :: (MonadServerAtomic m, MonadServerReadRequest m) => FactionId -> LevelId -> Perception -> Perception -> Perception -> m () Source #
handleCmdAtomicServer :: MonadServerAtomic m => UpdAtomic -> m (PosAtomic, [UpdAtomic], Bool) Source #
Internal operations
loudUpdAtomic :: MonadStateRead m => Bool -> UpdAtomic -> m (Maybe SfxMsg) Source #
Messages for some unseen atomic commands.
loudSfxAtomic :: MonadStateRead m => Bool -> SfxAtomic -> m (Maybe SfxMsg) Source #
Messages for some unseen sfx.
atomicForget :: FactionId -> LevelId -> Perception -> State -> [UpdAtomic] Source #
atomicRemember :: LevelId -> Perception -> State -> State -> [UpdAtomic] Source #