c70097f1e1
Needs more testing to make sure it all works properly
44 lines
1.3 KiB
Haskell
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
|