{-# LANGUAGE StrictData #-} {-# LANGUAGE TemplateHaskell #-} module Dodge.Data.Item.Misc where import Control.Lens import Data.Aeson import Data.Aeson.TH import Geometry.Data data ItemDimension = ItemDimension { _dimRad :: Float , _dimCenter :: Point3 , _dimAttachPos :: Point3 -- should be attachmentpos } deriving (Eq, Show, Read) --Generic, Flat) --data ItemPortage -- = HeldItem -- { _handlePos :: Float -- , _muzPos :: Float -- } -- | WornItem -- | NoPortage -- deriving (Eq, Show, Read) --Generic, Flat) --data ItemValue = ItemValue -- { _ivInt :: Int -- , _ivType :: ItemValueType -- } -- deriving (Eq, Show, Read) --Generic, Flat) -- --data ItemValueType = MundaneItem | ArtefactItem -- deriving (Eq, Show, Read) --Generic, Flat) makeLenses ''ItemDimension --makeLenses ''ItemPortage --makeLenses ''ItemValue deriveJSON defaultOptions ''ItemDimension --deriveJSON defaultOptions ''ItemPortage --deriveJSON defaultOptions ''ItemValue --deriveJSON defaultOptions ''ItemValueType