Safe Haskell | None |
---|---|
Language | Haskell2010 |
Game.LambdaHack.Server.MonadServer
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
- debugPossiblyPrint :: MonadServer m => Text -> m ()
- debugPossiblyPrintAndExit :: MonadServer m => Text -> m ()
- serverPrint :: MonadServer m => Text -> m ()
- saveServer :: MonadServer m => m ()
- saveName :: String
- dumpRngs :: MonadServer m => m ()
- restoreScore :: MonadServer m => COps -> m ScoreDict
- 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 where Source #
Minimal complete definition
getServer, getsServer, modifyServer, putServer, liftIO, saveChanServer
Methods
getServer :: m StateServer Source #
getsServer :: (StateServer -> a) -> m a Source #
modifyServer :: (StateServer -> StateServer) -> m () Source #
putServer :: StateServer -> m () Source #
liftIO :: IO a -> m a Source #
saveChanServer :: m (ChanSave (State, StateServer)) Source #
Instances
Assorted primitives
debugPossiblyPrint :: MonadServer m => Text -> m () Source #
debugPossiblyPrintAndExit :: MonadServer m => Text -> m () Source #
serverPrint :: 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 ScoreDict Source #
Read the high scores dictionary. 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 Bool Source #
tellAllClipPS :: MonadServer m => m () Source #
tellGameClipPS :: MonadServer m => m () Source #
tryRestore :: MonadServer m => COps -> DebugModeSer -> m (Maybe (State, StateServer)) Source #
speedupCOps :: Bool -> COps -> COps Source #
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 a Source #
Invoke pseudo-random computation with the generator kept in the state.
getSetGen :: MonadServer m => Maybe StdGen -> m StdGen Source #
Gets a random generator from the arguments or, if not present, generates one.