Implement filter on nearby objects

This commit is contained in:
2023-02-17 11:19:07 +00:00
parent 93dfc2a67c
commit c0ef36426a
8 changed files with 103 additions and 18 deletions
@@ -21,6 +21,7 @@ data Manipulation -- should be ManipulatedObject?
-- = InvSel {_isel :: SelPos}
= Manipulator {_manObject :: ManipulatedObject
, _invRegex :: Maybe String
, _closeRegex :: Maybe String
}
| Brute
deriving (Eq, Ord, Show, Read) --Generic, Flat)
@@ -28,6 +29,12 @@ data Manipulation -- should be ManipulatedObject?
data ManipulatedObject
= InInventory {_inInventory :: InventoryManipulation}
| SelNothing
-- | SelCloseObject {_ispCloseObject :: Int}
| InNearby {_inNearby :: NearbyManipulation}
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data NearbyManipulation
= SortNearby
| SelCloseObject {_ispCloseObject :: Int}
deriving (Eq, Ord, Show, Read) --Generic, Flat)
@@ -50,11 +57,13 @@ makeLenses ''LoadAction
makeLenses ''ManipulatedObject
makeLenses ''Manipulation
makeLenses ''InventoryManipulation
makeLenses ''NearbyManipulation
makeLenses ''LeftInvSel
makeLenses ''InvSelAction
deriveJSON defaultOptions ''LoadAction
deriveJSON defaultOptions ''InvSelAction
deriveJSON defaultOptions ''InventoryManipulation
deriveJSON defaultOptions ''NearbyManipulation
deriveJSON defaultOptions ''ManipulatedObject
deriveJSON defaultOptions ''Manipulation
deriveJSON defaultOptions ''LeftInvSel