Simplify (data-ify) command arguments

This commit is contained in:
2022-06-07 12:48:22 +01:00
parent 3c2f0cb824
commit cc5d431d4c
3 changed files with 70 additions and 54 deletions
+12 -4
View File
@@ -998,7 +998,7 @@ data ProximityRequirement
| RequireImpossible
deriving (Eq,Ord,Show)
data CloseToggle = NotClose | IsClose
deriving (Eq,Ord)
deriving (Eq,Ord,Show)
data MachineType
= StaticMachine
| Turret
@@ -1384,13 +1384,21 @@ data CreatureState = CrSt
, _crDropsOnDeath :: CreatureDropType
}
data EffectArguments
= NoArguments {_cmdEffect :: [TerminalLine]}
| OneArgument
{_argType :: String
,_argList :: M.Map String [TerminalLine]
}
data TerminalCommand = TerminalCommand
{ _tcString :: String
, _tcAlias :: [String]
, _tcHelp :: String
, _tcArgumentType :: Maybe String
, _tcArguments :: Terminal -> World -> [String]
, _tcEffect :: [String] -> Terminal -> World -> Either String [TerminalLine]
, _tcEffect :: Terminal -> World -> EffectArguments
-- , _tcArgumentType :: Maybe String
-- , _tcArguments :: Terminal -> World -> [String]
-- , _tcEffect :: [String] -> Terminal -> World -> Either String [TerminalLine]
}
---- ROOM DATATYPES