Safe Haskell | None |
---|---|
Language | Haskell2010 |
Semantics of Cmd
client commands that return server commands.
A couple of them do not take time, the rest does.
Here prompts and menus and displayed, but any feedback resulting
from the commands (e.g., from inventory manipulation) is generated later on,
for all clients that witness the results of the commands.
- byAreaHuman :: MonadClientUI m => (HumanCmd -> m (Either MError ReqUI)) -> [(CmdArea, HumanCmd)] -> m (Either MError ReqUI)
- byAimModeHuman :: MonadClientUI m => m (Either MError ReqUI) -> m (Either MError ReqUI) -> m (Either MError ReqUI)
- byItemModeHuman :: MonadClientUI m => [Trigger] -> m (Either MError ReqUI) -> m (Either MError ReqUI) -> m (Either MError ReqUI)
- composeIfLocalHuman :: MonadClientUI m => m (Either MError ReqUI) -> m (Either MError ReqUI) -> m (Either MError ReqUI)
- composeUnlessErrorHuman :: MonadClientUI m => m (Either MError ReqUI) -> m (Either MError ReqUI) -> m (Either MError ReqUI)
- compose2ndLocalHuman :: MonadClientUI m => m (Either MError ReqUI) -> m (Either MError ReqUI) -> m (Either MError ReqUI)
- loopOnNothingHuman :: MonadClientUI m => m (Either MError ReqUI) -> m (Either MError ReqUI)
- waitHuman :: MonadClientUI m => m (RequestTimed AbWait)
- waitHuman10 :: MonadClientUI m => m (RequestTimed AbWait)
- moveRunHuman :: MonadClientUI m => Bool -> Bool -> Bool -> Bool -> Vector -> m (FailOrCmd RequestAnyAbility)
- runOnceAheadHuman :: MonadClientUI m => m (Either MError ReqUI)
- moveOnceToXhairHuman :: MonadClientUI m => m (FailOrCmd RequestAnyAbility)
- runOnceToXhairHuman :: MonadClientUI m => m (FailOrCmd RequestAnyAbility)
- continueToXhairHuman :: MonadClientUI m => m (FailOrCmd RequestAnyAbility)
- moveItemHuman :: forall m. MonadClientUI m => [CStore] -> CStore -> Maybe Part -> Bool -> m (FailOrCmd (RequestTimed AbMoveItem))
- projectHuman :: MonadClientUI m => [Trigger] -> m (FailOrCmd (RequestTimed AbProject))
- applyHuman :: MonadClientUI m => [Trigger] -> m (FailOrCmd (RequestTimed AbApply))
- alterDirHuman :: MonadClientUI m => [Trigger] -> m (FailOrCmd (RequestTimed AbAlter))
- alterWithPointerHuman :: MonadClientUI m => [Trigger] -> m (FailOrCmd (RequestTimed AbAlter))
- helpHuman :: MonadClientUI m => (HumanCmd -> m (Either MError ReqUI)) -> m (Either MError ReqUI)
- itemMenuHuman :: MonadClientUI m => (HumanCmd -> m (Either MError ReqUI)) -> m (Either MError ReqUI)
- chooseItemMenuHuman :: MonadClientUI m => (HumanCmd -> m (Either MError ReqUI)) -> ItemDialogMode -> m (Either MError ReqUI)
- mainMenuHuman :: MonadClientUI m => (HumanCmd -> m (Either MError ReqUI)) -> m (Either MError ReqUI)
- settingsMenuHuman :: MonadClientUI m => (HumanCmd -> m (Either MError ReqUI)) -> m (Either MError ReqUI)
- challengesMenuHuman :: MonadClientUI m => (HumanCmd -> m (Either MError ReqUI)) -> m (Either MError ReqUI)
- gameDifficultyIncr :: MonadClientUI m => m ()
- gameWolfToggle :: MonadClientUI m => m ()
- gameFishToggle :: MonadClientUI m => m ()
- gameScenarioIncr :: MonadClientUI m => m ()
- gameRestartHuman :: MonadClientUI m => m (FailOrCmd ReqUI)
- gameExitHuman :: MonadClientUI m => m ReqUI
- gameSaveHuman :: MonadClientUI m => m ReqUI
- tacticHuman :: MonadClientUI m => m (FailOrCmd ReqUI)
- automateHuman :: MonadClientUI m => m (FailOrCmd ReqUI)
Meta commands
byAreaHuman :: MonadClientUI m => (HumanCmd -> m (Either MError ReqUI)) -> [(CmdArea, HumanCmd)] -> m (Either MError ReqUI) Source #
Pick command depending on area the mouse pointer is in. The first matching area is chosen. If none match, only interrupt.
byAimModeHuman :: MonadClientUI m => m (Either MError ReqUI) -> m (Either MError ReqUI) -> m (Either MError ReqUI) Source #
byItemModeHuman :: MonadClientUI m => [Trigger] -> m (Either MError ReqUI) -> m (Either MError ReqUI) -> m (Either MError ReqUI) Source #
composeIfLocalHuman :: MonadClientUI m => m (Either MError ReqUI) -> m (Either MError ReqUI) -> m (Either MError ReqUI) Source #
composeUnlessErrorHuman :: MonadClientUI m => m (Either MError ReqUI) -> m (Either MError ReqUI) -> m (Either MError ReqUI) Source #
compose2ndLocalHuman :: MonadClientUI m => m (Either MError ReqUI) -> m (Either MError ReqUI) -> m (Either MError ReqUI) Source #
loopOnNothingHuman :: MonadClientUI m => m (Either MError ReqUI) -> m (Either MError ReqUI) Source #
Global commands that usually take time
waitHuman :: MonadClientUI m => m (RequestTimed AbWait) Source #
Leader waits a turn (and blocks, etc.).
waitHuman10 :: MonadClientUI m => m (RequestTimed AbWait) Source #
Leader waits a 1/10th of a turn (and doesn't block, etc.).
moveRunHuman :: MonadClientUI m => Bool -> Bool -> Bool -> Bool -> Vector -> m (FailOrCmd RequestAnyAbility) Source #
runOnceAheadHuman :: MonadClientUI m => m (Either MError ReqUI) Source #
moveOnceToXhairHuman :: MonadClientUI m => m (FailOrCmd RequestAnyAbility) Source #
runOnceToXhairHuman :: MonadClientUI m => m (FailOrCmd RequestAnyAbility) Source #
continueToXhairHuman :: MonadClientUI m => m (FailOrCmd RequestAnyAbility) Source #
moveItemHuman :: forall m. MonadClientUI m => [CStore] -> CStore -> Maybe Part -> Bool -> m (FailOrCmd (RequestTimed AbMoveItem)) Source #
projectHuman :: MonadClientUI m => [Trigger] -> m (FailOrCmd (RequestTimed AbProject)) Source #
applyHuman :: MonadClientUI m => [Trigger] -> m (FailOrCmd (RequestTimed AbApply)) Source #
alterDirHuman :: MonadClientUI m => [Trigger] -> m (FailOrCmd (RequestTimed AbAlter)) Source #
Ask for a direction and alter a tile in the specified way, if possible.
alterWithPointerHuman :: MonadClientUI m => [Trigger] -> m (FailOrCmd (RequestTimed AbAlter)) Source #
Try to alter a tile using a feature under the pointer.
helpHuman :: MonadClientUI m => (HumanCmd -> m (Either MError ReqUI)) -> m (Either MError ReqUI) Source #
Display command help.
itemMenuHuman :: MonadClientUI m => (HumanCmd -> m (Either MError ReqUI)) -> m (Either MError ReqUI) Source #
chooseItemMenuHuman :: MonadClientUI m => (HumanCmd -> m (Either MError ReqUI)) -> ItemDialogMode -> m (Either MError ReqUI) Source #
mainMenuHuman :: MonadClientUI m => (HumanCmd -> m (Either MError ReqUI)) -> m (Either MError ReqUI) Source #
Display the main menu.
settingsMenuHuman :: MonadClientUI m => (HumanCmd -> m (Either MError ReqUI)) -> m (Either MError ReqUI) Source #
Display the settings menu.
challengesMenuHuman :: MonadClientUI m => (HumanCmd -> m (Either MError ReqUI)) -> m (Either MError ReqUI) Source #
Display the challenges menu.
gameDifficultyIncr :: MonadClientUI m => m () Source #
gameWolfToggle :: MonadClientUI m => m () Source #
gameFishToggle :: MonadClientUI m => m () Source #
gameScenarioIncr :: MonadClientUI m => m () Source #
Global commands that never take time
gameRestartHuman :: MonadClientUI m => m (FailOrCmd ReqUI) Source #
gameExitHuman :: MonadClientUI m => m ReqUI Source #
gameSaveHuman :: MonadClientUI m => m ReqUI Source #
tacticHuman :: MonadClientUI m => m (FailOrCmd ReqUI) Source #
automateHuman :: MonadClientUI m => m (FailOrCmd ReqUI) Source #