43 lines
1.0 KiB
Haskell
43 lines
1.0 KiB
Haskell
{-# 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
|