Improve tab completion, cleanup
This commit is contained in:
@@ -51,7 +51,6 @@ data TCom
|
||||
| TCBase
|
||||
| TCDamageCommand
|
||||
| TCSensorInfo
|
||||
-- | TCToggles
|
||||
|
||||
data TmWdWd
|
||||
= TmWdId
|
||||
|
||||
@@ -42,7 +42,6 @@ addWarningTerminal str outplid = (rmName .++~ "warningTerm-")
|
||||
)
|
||||
termMessages trpl =
|
||||
lineOutputTerminal (makeColorTermLine red "WARNING" : makeTermPara str)
|
||||
-- & tmCommands .:~ TCToggles
|
||||
& tmToggles .~ M.fromList
|
||||
[("DOOR", TerminalToggle (fromJust $ _plMID trpl) (BlConst True))]
|
||||
|
||||
|
||||
@@ -61,7 +61,6 @@ getCommand w tm = \case
|
||||
TCInfo x z -> PTE.singleton x (PTE.singleton "" (makeTermPara z))
|
||||
TCBase -> helpCommand <> quitCommand <> toggleCommands tm
|
||||
TCDamageCommand -> damageCodeCommand w
|
||||
-- TCToggles -> toggleCommand tm
|
||||
TCSensorInfo -> sensorCommand w tm
|
||||
|
||||
damageCodeCommand :: World -> PTE.TrieMap Char (PTE.TrieMap Char [TerminalLine])
|
||||
@@ -156,7 +155,7 @@ tabComplete s' w tm = case PTE.lookup s $ getCommands w tm of
|
||||
.~ ( makeColorTermPara
|
||||
commandColor
|
||||
(unwords xs)
|
||||
<> [TLine 1 [] . TmTmSetStatus $ TerminalTextInput s]
|
||||
<> [TLine 1 [] . TmTmSetStatus $ TerminalTextInput s']
|
||||
)
|
||||
|
||||
--damageCodeCommand :: TerminalCommand
|
||||
|
||||
@@ -86,28 +86,21 @@ doDeathToggle (TerminalToggle trid f) = ix trid %~ doBlBl f
|
||||
|
||||
doTmWdWd :: TmWdWd -> Terminal -> World -> World
|
||||
doTmWdWd tmwdwd = case tmwdwd of
|
||||
TmTmClearDisplayedLines -> \tm -> fromMaybe id $ do
|
||||
tid <- tm ^? tmID
|
||||
return $ cWorld . lWorld . terminals . ix tid . tmDisplayedLines .~ []
|
||||
TmTmClearDisplayedLines -> \tm ->
|
||||
cWorld . lWorld . terminals . ix (tm ^. tmID) . tmDisplayedLines .~ []
|
||||
TmTmSetStatus x -> \tm -> cWorld . lWorld . terminals . ix (tm ^. tmID) . tmStatus .~ x
|
||||
TmWdId -> const id
|
||||
TmWdWdPowerDownTerminal -> powerDownTerminal
|
||||
TmWdWdDeactivateTerminal -> deactivateTerminal
|
||||
TmWdWdPowerDownTerminal -> resetTerminal TerminalOff
|
||||
TmWdWdDeactivateTerminal -> resetTerminal TerminalDeactivated
|
||||
TmWdWdTermSound sid -> \tm w ->
|
||||
let tpos = fromMaybe 0 $ w ^? cWorld . lWorld . buttons . ix (_tmButtonID tm) . btPos
|
||||
in soundStart TerminalSound tpos sid Nothing w
|
||||
TmWdWdDoDeathTriggers -> doDeathTriggers
|
||||
TmWdWdfromWdWd f -> \_ -> doWdWd f
|
||||
|
||||
powerDownTerminal :: Terminal -> World -> World
|
||||
powerDownTerminal tm =
|
||||
(cWorld . lWorld . terminals . ix (_tmID tm) . tmStatus .~ TerminalOff)
|
||||
. (cWorld . lWorld . terminals . ix (_tmID tm) . tmDisplayedLines .~ [])
|
||||
. exitTerminalSubInv
|
||||
|
||||
deactivateTerminal :: Terminal -> World -> World
|
||||
deactivateTerminal tm =
|
||||
(cWorld . lWorld . terminals . ix (_tmID tm) . tmStatus .~ TerminalDeactivated)
|
||||
resetTerminal :: TerminalStatus -> Terminal -> World -> World
|
||||
resetTerminal x tm =
|
||||
(cWorld . lWorld . terminals . ix (_tmID tm) . tmStatus .~ x)
|
||||
. (cWorld . lWorld . terminals . ix (_tmID tm) . tmDisplayedLines .~ [])
|
||||
. exitTerminalSubInv
|
||||
|
||||
|
||||
Reference in New Issue
Block a user