{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DeriveAnyClass #-} {-# 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 } 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