Start creating explicit tutorial map

This commit is contained in:
2025-08-21 16:31:04 +01:00
parent 21460ceaa8
commit befe24e038
15 changed files with 272 additions and 161 deletions
+2 -12
View File
@@ -9,7 +9,6 @@ module Dodge.Terminal (
sensorCommand,
makeColorTermLine,
makeTermPara,
-- toggleCommand,
terminalReturnEffect,
getCommands,
tabComplete,
@@ -59,7 +58,6 @@ getCommand :: World
-> Terminal -> TCom -> PTE.TrieMap Char (PTE.TrieMap Char [TerminalLine])
getCommand w tm = \case
TCInfo x z -> PTE.singleton x (PTE.singleton "" (makeTermPara z))
--TCBase -> helpCommand <> quitCommand <> toggleCommands tm
TCBase -> quitCommand <> toggleCommands tm
TCDamageCommand -> damageCodeCommand w
TCSensorInfo -> sensorCommand w tm
@@ -95,7 +93,7 @@ sensorCommand w tm = PTE.singleton "SENSOR" $ fromMaybe mempty $ do
toggleCommands :: Terminal -> PTE.TrieMap Char (PTE.TrieMap Char [TerminalLine])
toggleCommands tm
| null ts = mempty
| otherwise = PTE.singleton "TOGGLE" $ PTE.fromList $ fmap f $ M.toList ts
| otherwise = PTE.singleton "TOGGLE" $ PTE.fromList $ f <$> M.toList ts
where
ts = tm ^. tmToggles
f (s,x) = (s,
@@ -105,15 +103,6 @@ toggleCommands tm
(TmWdWdfromWdWd (WdWdNegateTrig $ x ^. ttTriggerID))
])
--helpCommand :: PTE.TrieMap Char (PTE.TrieMap Char [TerminalLine])
--helpCommand = PTE.singleton "" (fmap makeTermPara helpStrings)
--
--helpStrings :: PTE.TrieMap Char String
--helpStrings =
-- PTE.fromList
-- [ ("", "THIS TERMINAL PROCESSES KEYBOARD INPUT. USE [RETURN] OR [LMB] TO REGISTER YOUR INPUT. AVAILABLE COMMANDS CAN BE SCROLLED THROUGH, HOLD [RMB] TO SCROLL THROUGH ARGUMENTS. USE [TAB] FOR AUTOCOMPLETE.")
-- ]
helpPara :: [TerminalLine]
helpPara = makeTermPara "THIS TERMINAL PROCESSES KEYBOARD INPUT. USE [RETURN] OR [LMB] TO REGISTER YOUR INPUT. AVAILABLE COMMANDS CAN BE SCROLLED THROUGH, HOLD [RMB] TO SCROLL THROUGH ARGUMENTS. USE [TAB] FOR AUTOCOMPLETE."
@@ -191,6 +180,7 @@ tabComplete' s' w tm = case PTE.lookup s $ getCommands w tm of
simpleTermMessage :: [String] -> Terminal
simpleTermMessage strs = defaultTerminal & tmBootLines .~ map makeTermLine strs
-- list available arguments on function input?
terminalReturnEffect :: Int -> World -> World
terminalReturnEffect tmid w = fromMaybe w $ do
tm' <- w ^? cWorld . lWorld . terminals . ix tmid