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
- 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))
- 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
Methods
getServer :: m StateServer Source
getsServer :: (StateServer -> a) -> m a Source
modifyServer :: (StateServer -> StateServer) -> m () Source
putServer :: StateServer -> m () 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.