Safe Haskell | None |
---|
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
getServer :: m StateServerSource
getsServer :: (StateServer -> a) -> m aSource
modifyServer :: (StateServer -> StateServer) -> m ()Source
putServer :: StateServer -> m ()Source
saveChanServer :: m (ChanSave (State, StateServer))Source
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.