Safe Haskell | None |
---|---|
Language | Haskell2010 |
Abstract syntax of requests.
See https://github.com/LambdaHack/LambdaHack/wiki/Client-server-architecture.
Synopsis
- type RequestAI = (ReqAI, Maybe ActorId)
- data ReqAI
- type RequestUI = (ReqUI, Maybe ActorId)
- data ReqUI
- data RequestAnyAbility = RequestAnyAbility (RequestTimed a)
- data RequestTimed :: Ability -> * where
- ReqMove :: Vector -> RequestTimed AbMove
- ReqMelee :: ActorId -> ItemId -> CStore -> RequestTimed AbMelee
- ReqDisplace :: ActorId -> RequestTimed AbDisplace
- ReqAlter :: Point -> RequestTimed AbAlter
- ReqWait :: RequestTimed AbWait
- ReqWait10 :: RequestTimed AbWait
- ReqMoveItems :: [(ItemId, Int, CStore, CStore)] -> RequestTimed AbMoveItem
- ReqProject :: Point -> Int -> ItemId -> CStore -> RequestTimed AbProject
- ReqApply :: ItemId -> CStore -> RequestTimed AbApply
Documentation
type RequestAI = (ReqAI, Maybe ActorId) Source #
Requests sent by AI clients to the server. If faction leader is to be changed, it's included as the second component.
Possible forms of requests sent by AI clients.
type RequestUI = (ReqUI, Maybe ActorId) Source #
Requests sent by UI clients to the server. If faction leader is to be changed, it's included as the second component.
Possible forms of requests sent by UI clients.
data RequestAnyAbility Source #
Basic form of requests, sent by both AI and UI clients to the server.
Instances
Show RequestAnyAbility Source # | |
Defined in Game.LambdaHack.Client.Request showsPrec :: Int -> RequestAnyAbility -> ShowS # show :: RequestAnyAbility -> String # showList :: [RequestAnyAbility] -> ShowS # |
data RequestTimed :: Ability -> * where Source #
Requests that take game time, indexed by actor ability that is needed for performing the corresponding actions.
ReqMove :: Vector -> RequestTimed AbMove | |
ReqMelee :: ActorId -> ItemId -> CStore -> RequestTimed AbMelee | |
ReqDisplace :: ActorId -> RequestTimed AbDisplace | |
ReqAlter :: Point -> RequestTimed AbAlter | |
ReqWait :: RequestTimed AbWait | |
ReqWait10 :: RequestTimed AbWait | |
ReqMoveItems :: [(ItemId, Int, CStore, CStore)] -> RequestTimed AbMoveItem | |
ReqProject :: Point -> Int -> ItemId -> CStore -> RequestTimed AbProject | |
ReqApply :: ItemId -> CStore -> RequestTimed AbApply |
Instances
Show (RequestTimed a) Source # | |
Defined in Game.LambdaHack.Client.Request showsPrec :: Int -> RequestTimed a -> ShowS # show :: RequestTimed a -> String # showList :: [RequestTimed a] -> ShowS # |