Safe Haskell | None |
---|---|
Language | Haskell2010 |
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
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
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.