Safe Haskell | None |
---|
Basic type classes for game actions.
This module should not be imported anywhere except in Action
and TypeAction
.
- data SessionUI = SessionUI {
- sfconn :: !ConnFrontend
- sbinding :: !Binding
- data ConnFrontend = ConnFrontend {
- readConnFrontend :: MonadClientUI m => m KM
- writeConnFrontend :: MonadClientUI m => FrontReq -> m ()
- data ConnServer c = ConnServer {
- readConnServer :: MonadConnClient c m => m c
- writeConnServer :: MonadConnClient c m => CmdSer -> m ()
- class MonadActionRO m => MonadClient m where
- getClient :: m StateClient
- getsClient :: (StateClient -> a) -> m a
- modifyClient :: (StateClient -> StateClient) -> m ()
- putClient :: StateClient -> m ()
- liftIO :: IO a -> m a
- class MonadClient m => MonadClientUI m where
- getsSession :: (SessionUI -> a) -> m a
- class MonadClient m => MonadConnClient c m | m -> c where
- getConn :: m (ConnServer c)
- class MonadClient m => MonadClientAbort m where
Documentation
The information that is constant across a client playing session,
including many consecutive games in a single session,
but is completely disregarded and reset when a new playing session starts.
Auxiliary AI and computer player clients have no sfs
nor sbinding
.
SessionUI | |
|
data ConnFrontend Source
Connection method between a client and a frontend.
ConnFrontend | |
|
data ConnServer c Source
ConnServer | |
|
class MonadActionRO m => MonadClient m whereSource
getClient :: m StateClientSource
getsClient :: (StateClient -> a) -> m aSource
modifyClient :: (StateClient -> StateClient) -> m ()Source
putClient :: StateClient -> m ()Source
MonadClient (ActionCli c) | |
(Monoid a, MonadClient m) => MonadClient (WriterT a m) |
class MonadClient m => MonadClientUI m whereSource
getsSession :: (SessionUI -> a) -> m aSource
MonadClientUI (ActionCli c) | |
(Monoid a, MonadClientUI m) => MonadClientUI (WriterT a m) |
class MonadClient m => MonadConnClient c m | m -> c whereSource
getConn :: m (ConnServer c)Source
MonadConnClient c (ActionCli c) |
class MonadClient m => MonadClientAbort m whereSource
The bottom of the action monads class semilattice.
MonadClientAbort (ActionCli c) | |
(Monoid a, MonadClientAbort m) => MonadClientAbort (WriterT a m) |