Files
loop/src/Dodge/Data/Item/Use/Consumption/LoadAction.hs
T
justin c70097f1e1 Remove duplicated selection/manipulation positions
Needs more testing to make sure it all works properly
2026-05-14 20:40:46 +01:00

44 lines
1.3 KiB
Haskell

{-# LANGUAGE StrictData #-}
{-# LANGUAGE TemplateHaskell #-}
module Dodge.Data.Item.Use.Consumption.LoadAction where
import Dodge.Data.AimStance
import Dodge.Data.Item.Location
import NewInt
import qualified Data.IntSet as IS
import Control.Lens
import Data.Aeson
import Data.Aeson.TH
--import Sound.Data
--data Manipulation -- should be ManipulatedObject?
-- = Manipulator {_manObject :: ManipulatedObject }
-- | Brute
-- deriving (Eq, Ord, Show, Read) --Generic, Flat)
data ManipulatedObject
= HeldItem
{ _hiRootSelectedItem :: NewInt InvInt
, _hiAimStance :: AimStance
, _hiAttachedItems :: IS.IntSet -- this should probably be NewIntSet InvInt also
}
| HandsFree
-- = SortInventory
-- | SelectedItem
-- { _imRootSelectedItem :: NewInt InvInt
-- , _imAimStance :: AimStance
-- , _imAttachedItems :: IS.IntSet -- this should probably be NewIntSet InvInt also
-- }
-- | SelNothing
-- | SortCloseItem
-- | SelCloseItem {_ispCloseItem :: Int}
-- | SortCloseButton
-- | SelCloseButton {_ispCloseButton :: Int}
-- deriving (Eq, Ord, Show, Read) --Generic, Flat)
makeLenses ''ManipulatedObject
--makeLenses ''Manipulation
deriveJSON defaultOptions ''ManipulatedObject
--deriveJSON defaultOptions ''Manipulation