Safe Haskell | None |
---|---|
Language | Haskell2010 |
Atomic monads for handling atomic game state transformations.
- class MonadStateRead m => MonadAtomic m where
- execAtomic :: CmdAtomic -> m ()
- execUpdAtomic :: UpdAtomic -> m ()
- execSfxAtomic :: SfxAtomic -> m ()
- broadcastUpdAtomic :: MonadAtomic m => (FactionId -> UpdAtomic) -> m ()
- broadcastSfxAtomic :: MonadAtomic m => (FactionId -> SfxAtomic) -> m ()
Documentation
class MonadStateRead m => MonadAtomic m where Source
The monad for executing atomic game state transformations.
execAtomic :: CmdAtomic -> m () Source
Execute an arbitrary atomic game state transformation.
execUpdAtomic :: UpdAtomic -> m () Source
Execute an atomic command that really changes the state.
execSfxAtomic :: SfxAtomic -> m () Source
Execute an atomic command that only displays special effects.
MonadAtomic SerImplementation | The game-state semantics of atomic commands as computed on the server. |
MonadAtomic (CliImplementation resp req) | The game-state semantics of atomic commands as computed on the client. |
broadcastUpdAtomic :: MonadAtomic m => (FactionId -> UpdAtomic) -> m () Source
Create and broadcast a set of atomic updates, one for each client.
broadcastSfxAtomic :: MonadAtomic m => (FactionId -> SfxAtomic) -> m () Source
Create and broadcast a set of atomic special effects, one for each client.