Safe Haskell | None |
---|
Game.LambdaHack.Server.MonadServer
Contents
Description
Game action monads and basic building blocks for human and computer
player actions. Has no access to the the main action type.
Does not export the liftIO
operation nor a few other implementation
details.
- class MonadStateRead m => MonadServer m where
- getServer :: m StateServer
- getsServer :: (StateServer -> a) -> m a
- modifyServer :: (StateServer -> StateServer) -> m ()
- putServer :: StateServer -> m ()
- liftIO :: IO a -> m a
- saveChanServer :: m (ChanSave (State, StateServer))
- debugPrint :: MonadServer m => Text -> m ()
- saveServer :: MonadServer m => m ()
- saveName :: String
- dumpRngs :: MonadServer m => m ()
- restoreScore :: MonadServer m => COps -> m ScoreTable
- registerScore :: MonadServer m => Status -> Maybe Actor -> FactionId -> m ()
- resetSessionStart :: MonadServer m => m ()
- resetGameStart :: MonadServer m => m ()
- elapsedSessionTimeGT :: MonadServer m => Int -> m Bool
- tellAllClipPS :: MonadServer m => m ()
- tellGameClipPS :: MonadServer m => m ()
- tryRestore :: MonadServer m => COps -> DebugModeSer -> m (Maybe (State, StateServer))
- speedupCOps :: Bool -> COps -> COps
- rndToAction :: MonadServer m => Rnd a -> m a
- getSetGen :: MonadServer m => Maybe StdGen -> m StdGen
The server monad
class MonadStateRead m => MonadServer m whereSource
Methods
getServer :: m StateServerSource
getsServer :: (StateServer -> a) -> m aSource
modifyServer :: (StateServer -> StateServer) -> m ()Source
putServer :: StateServer -> m ()Source
saveChanServer :: m (ChanSave (State, StateServer))Source
Instances
Assorted primitives
debugPrint :: MonadServer m => Text -> m ()Source
saveServer :: MonadServer m => m ()Source
dumpRngs :: MonadServer m => m ()Source
Dumps RNG states from the start of the game to stderr.
restoreScore :: MonadServer m => COps -> m ScoreTableSource
Read the high scores table. Return the empty table if no file.
registerScore :: MonadServer m => Status -> Maybe Actor -> FactionId -> m ()Source
Generate a new score, register it and save.
resetSessionStart :: MonadServer m => m ()Source
resetGameStart :: MonadServer m => m ()Source
elapsedSessionTimeGT :: MonadServer m => Int -> m BoolSource
tellAllClipPS :: MonadServer m => m ()Source
tellGameClipPS :: MonadServer m => m ()Source
tryRestore :: MonadServer m => COps -> DebugModeSer -> m (Maybe (State, StateServer))Source
speedupCOps :: Bool -> COps -> COpsSource
Compute and insert auxiliary optimized components into game content, to be used in time-critical sections of the code.
rndToAction :: MonadServer m => Rnd a -> m aSource
Invoke pseudo-random computation with the generator kept in the state.