{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE TemplateHaskell #-} module Dodge.Data.Item.Use.Consumption.LoadAction where import qualified Data.IntSet as IS import Control.Lens import Data.Aeson import Data.Aeson.TH --import Sound.Data data Manipulation -- should be ManipulatedObject? -- = InvSel {_isel :: SelPos} = Manipulator {_manObject :: ManipulatedObject } | Brute deriving (Eq, Ord, Show, Read) --Generic, Flat) data ManipulatedObject = SortInventory | SelectedItem { _imSelectedItem :: Int , _imRootSelectedItem :: Int , _imAttachedItems :: IS.IntSet } | SelNothing | SortNearby | SelCloseObject {_ispCloseObject :: Int} deriving (Eq, Ord, Show, Read) --Generic, Flat) makeLenses ''ManipulatedObject makeLenses ''Manipulation deriveJSON defaultOptions ''ManipulatedObject deriveJSON defaultOptions ''Manipulation