Partially successful change of terminals to external entities

This commit is contained in:
2022-06-06 12:49:14 +01:00
parent 597336499c
commit eb38874102
12 changed files with 141 additions and 167 deletions
+8 -19
View File
@@ -203,8 +203,8 @@ data SubInventory
| InspectInventory
| LockedInventory
| DisplayTerminal
{_termParams :: TerminalParams
,_termID :: Int
{_termID :: Int
,_onInputLine :: Bool
}
-- deriving (Eq,Ord,Show)
@@ -408,18 +408,6 @@ data Button = Button
, _btTermMID :: Maybe Int
, _btName :: String
}
data TerminalParams = NoTerminalParams | TerminalParams
{ _termDisplayedLines :: [World -> (String,Color)]
, _termFutureLines :: [TerminalLine]
, _termMaxLines :: Int
, _termTitle :: String
, _termSel :: Maybe (Int,Int)
-- , _termOptions :: [(String, World -> World)]
, _termInput :: Maybe T.Text
, _termScrollCommands :: [TerminalCommand]
, _termWriteCommands :: [TerminalCommand]
, _termDeathCommand :: Maybe String
}
data TerminalLine
= TerminalLineDisplay
{_tlPause :: Int
@@ -432,7 +420,7 @@ data TerminalLine
}
| TerminalLineEffect
{_tlPause :: Int
,_tlEffect :: SubInventory -> World -> World
,_tlEffect :: Terminal -> World -> World
}
data ButtonState = BtOn | BtOff | BtNoLabel
deriving (Eq, Show)
@@ -948,9 +936,10 @@ data Block = Block
, _blMaterial :: BlockMaterial
}
data BlockMaterial = WoodBlock | DirtBlock | StoneBlock | GlassBlock | MetalBlock
data TerminalStatus = Connected | Disconnected
data Terminal = Terminal
{ _tmID :: Int
, _tmProgram :: Terminal -> World -> TerminalParams
, _tmProgram :: Terminal -> World -> [TerminalLine]
, _tmButtonID :: Int
, _tmMachineID :: Int
, _tmName :: String
@@ -963,6 +952,7 @@ data Terminal = Terminal
, _tmScrollCommands :: [TerminalCommand]
, _tmWriteCommands :: [TerminalCommand]
, _tmDeathEffect :: Terminal -> World -> World
, _tmStatus :: TerminalStatus
}
data Machine = Machine
{ _mcID :: Int
@@ -1384,8 +1374,8 @@ data TerminalCommand = TerminalCommand
, _tcAlias :: [String]
, _tcHelp :: String
, _tcArgumentType :: Maybe String
, _tcArguments :: World -> [String]
, _tcEffect :: [String] -> World -> Either String World
, _tcArguments :: Terminal -> World -> [String]
, _tcEffect :: [String] -> Terminal -> World -> Either String World
}
@@ -1601,7 +1591,6 @@ makeLenses ''Nozzle
makeLenses ''HUD
makeLenses ''HUDElement
makeLenses ''SubInventory
makeLenses ''TerminalParams
makeLenses ''TerminalLine
makeLenses ''ItemValue
makeLenses ''Equipment