Safe Haskell | None |
---|---|
Language | Haskell2010 |
Handle atomic commands on the server, after they are executed
to change server State
and before they are sent to clients.
Synopsis
- cmdAtomicSemSer :: MonadServer m => State -> UpdAtomic -> m ()
- validateFloor :: MonadServer m => ItemId -> LevelId -> m ()
- validateFloorBag :: MonadServer m => ItemBag -> LevelId -> m ()
- levelOfStash :: MonadStateRead m => ActorId -> m LevelId
- invalidateArenas :: MonadServer m => m ()
- updateSclear :: MonadServer m => LevelId -> Point -> ContentId TileKind -> ContentId TileKind -> m Bool
- updateSlit :: MonadServer m => LevelId -> Point -> ContentId TileKind -> ContentId TileKind -> m Bool
- invalidateLucidLid :: MonadServer m => LevelId -> m ()
- invalidateLucidAid :: MonadServer m => ActorId -> m ()
- actorHasShine :: ActorMaxSkills -> ActorId -> Bool
- itemAffectsShineRadius :: DiscoveryAspect -> ItemId -> Bool
- itemAffectsPerRadius :: DiscoveryAspect -> ItemId -> Bool
- addPerActor :: MonadServer m => ActorId -> Actor -> m ()
- addPerActorAny :: MonadServer m => ActorId -> Actor -> m ()
- deletePerActor :: MonadServer m => ActorMaxSkills -> ActorId -> Actor -> m ()
- deletePerActorAny :: MonadServer m => ActorId -> Actor -> m ()
- invalidatePerActor :: MonadServer m => ActorId -> m ()
- reconsiderPerActor :: MonadServer m => ActorId -> m ()
- invalidatePerLid :: MonadServer m => LevelId -> m ()
Documentation
cmdAtomicSemSer :: MonadServer m => State -> UpdAtomic -> m () Source #
Effect of atomic actions on server state is calculated
with the global state from after the command is executed
(except where the supplied oldState
is used).
Internal operations
validateFloor :: MonadServer m => ItemId -> LevelId -> m () Source #
validateFloorBag :: MonadServer m => ItemBag -> LevelId -> m () Source #
levelOfStash :: MonadStateRead m => ActorId -> m LevelId Source #
invalidateArenas :: MonadServer m => m () Source #
updateSclear :: MonadServer m => LevelId -> Point -> ContentId TileKind -> ContentId TileKind -> m Bool Source #
updateSlit :: MonadServer m => LevelId -> Point -> ContentId TileKind -> ContentId TileKind -> m Bool Source #
invalidateLucidLid :: MonadServer m => LevelId -> m () Source #
invalidateLucidAid :: MonadServer m => ActorId -> m () Source #
actorHasShine :: ActorMaxSkills -> ActorId -> Bool Source #
itemAffectsShineRadius :: DiscoveryAspect -> ItemId -> Bool Source #
itemAffectsPerRadius :: DiscoveryAspect -> ItemId -> Bool Source #
addPerActor :: MonadServer m => ActorId -> Actor -> m () Source #
addPerActorAny :: MonadServer m => ActorId -> Actor -> m () Source #
deletePerActor :: MonadServer m => ActorMaxSkills -> ActorId -> Actor -> m () Source #
deletePerActorAny :: MonadServer m => ActorId -> Actor -> m () Source #
invalidatePerActor :: MonadServer m => ActorId -> m () Source #
reconsiderPerActor :: MonadServer m => ActorId -> m () Source #
invalidatePerLid :: MonadServer m => LevelId -> m () Source #