Work on cleaning up item effects/attachments etc
This commit is contained in:
+30
-33
@@ -1,53 +1,50 @@
|
||||
{-# LANGUAGE DeriveGeneric #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
{-# LANGUAGE StrictData #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
module Dodge.Data.Item.Misc where
|
||||
import GHC.Generics
|
||||
import Data.Aeson
|
||||
import Geometry.Data
|
||||
|
||||
import Control.Lens
|
||||
import Data.Aeson
|
||||
import Data.Aeson.TH
|
||||
import Geometry.Data
|
||||
|
||||
data ItemDimension = ItemDimension
|
||||
{ _dimRad :: Float
|
||||
, _dimCenter :: Point3
|
||||
{ _dimRad :: Float
|
||||
, _dimCenter :: Point3
|
||||
, _dimAttachPos :: Point3
|
||||
}
|
||||
deriving (Eq,Ord,Show,Read,Generic)
|
||||
instance ToJSON ItemDimension where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON ItemDimension
|
||||
data ItemPortage
|
||||
deriving (Eq, Show, Read)
|
||||
|
||||
data ItemPortage
|
||||
= HeldItem
|
||||
{ _handlePos :: Float
|
||||
, _muzPos :: Float
|
||||
, _muzPos :: Float
|
||||
}
|
||||
| WornItem
|
||||
| NoPortage
|
||||
deriving (Eq,Ord,Show,Read,Generic)
|
||||
instance ToJSON ItemPortage where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON ItemPortage
|
||||
deriving (Eq, Show, Read)
|
||||
|
||||
data ItemValue = ItemValue
|
||||
{ _ivInt :: Int
|
||||
, _ivType :: ItemValueType
|
||||
}
|
||||
deriving (Eq,Ord,Show,Read,Generic)
|
||||
instance ToJSON ItemValue where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON ItemValue
|
||||
deriving (Eq, Show, Read)
|
||||
|
||||
data ItemValueType = MundaneItem | ArtefactItem
|
||||
deriving (Eq,Ord,Show,Read,Generic)
|
||||
instance ToJSON ItemValueType where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON ItemValueType
|
||||
data ItemPos
|
||||
= InInv { _ipCrID :: Int , _ipInvID :: Int }
|
||||
| OnFloor { _ipFlID :: Int }
|
||||
deriving (Eq, Show, Read)
|
||||
|
||||
data ItemLocation
|
||||
= InInv {_ipCrID :: Int, _ipInvID :: Int}
|
||||
| OnFloor {_ipFlID :: Int}
|
||||
| VoidItm
|
||||
deriving (Eq,Ord,Show,Read,Generic)
|
||||
instance ToJSON ItemPos where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON ItemPos
|
||||
deriving (Eq, Show, Read)
|
||||
|
||||
makeLenses ''ItemDimension
|
||||
makeLenses ''ItemPortage
|
||||
makeLenses ''ItemValue
|
||||
makeLenses ''ItemPos
|
||||
makeLenses ''ItemLocation
|
||||
deriveJSON defaultOptions ''ItemDimension
|
||||
deriveJSON defaultOptions ''ItemPortage
|
||||
deriveJSON defaultOptions ''ItemValue
|
||||
deriveJSON defaultOptions ''ItemValueType
|
||||
deriveJSON defaultOptions ''ItemLocation
|
||||
|
||||
Reference in New Issue
Block a user