LambdaHack-0.7.0.0: A game engine library for roguelike dungeon crawlers

Safe HaskellNone
LanguageHaskell2010

Game.LambdaHack.SampleImplementation.SampleMonadClient

Contents

Description

The implementation of our custom game client monads. Just as any other component of the library, this implementation can be substituted.

Synopsis

Documentation

executorCli :: KeyKind -> UIOptions -> ClientOptions -> COps -> Bool -> FactionId -> ChanServer -> IO () Source #

Run the main client loop, with the given arguments and empty initial states, in the IO monad.

Internal operations

data CliState Source #

Constructors

CliState 

Fields

newtype CliImplementation a Source #

Client state transformation monad.

Instances

Monad CliImplementation Source # 
Functor CliImplementation Source # 
Applicative CliImplementation Source # 
MonadStateRead CliImplementation Source # 

Methods

getsState :: (State -> a) -> CliImplementation a Source #

MonadStateWrite CliImplementation Source # 
MonadClient CliImplementation Source # 
MonadClientSetup CliImplementation Source # 
MonadClientUI CliImplementation Source # 
MonadClientAtomic CliImplementation Source # 
MonadClientWriteRequest CliImplementation Source # 
MonadClientReadResponse CliImplementation Source #