Add Store instances
This commit is contained in:
@@ -5,6 +5,8 @@
|
||||
|
||||
module Dodge.Data.Item.Combine where
|
||||
|
||||
import TH.Derive
|
||||
import Data.Store
|
||||
import Data.Binary
|
||||
import Flat
|
||||
import Control.Lens
|
||||
@@ -20,11 +22,9 @@ data ItemType = ItemType
|
||||
, _iyStack :: Stack
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary ItemType
|
||||
|
||||
data Stack = NoStack | Stack ItAmount
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary Stack
|
||||
|
||||
data CraftType
|
||||
= PIPE
|
||||
@@ -74,7 +74,6 @@ data CraftType
|
||||
| SIZEMODULE
|
||||
| GRAVITYMODULE
|
||||
deriving (Eq, Ord, Show, Enum, Read, Generic, Flat)
|
||||
instance Binary CraftType
|
||||
|
||||
data ItemBaseType
|
||||
= NoItemType
|
||||
@@ -84,13 +83,11 @@ data ItemBaseType
|
||||
| Consumable {_ibtConsumable :: ConsumableItemType}
|
||||
| CRAFT CraftType
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary ItemBaseType
|
||||
|
||||
data ConsumableItemType
|
||||
= MEDKIT Int
|
||||
| EXPLOSIVES
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary ConsumableItemType
|
||||
|
||||
data EquipItemType
|
||||
= MAGSHIELD
|
||||
@@ -107,7 +104,6 @@ data EquipItemType
|
||||
| JETPACK
|
||||
| AUTODETECTOR Detector
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary EquipItemType
|
||||
|
||||
data LeftItemType
|
||||
= BOOSTER
|
||||
@@ -117,7 +113,6 @@ data LeftItemType
|
||||
| SHRINKER
|
||||
| SPAWNER
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary LeftItemType
|
||||
|
||||
data HeldItemType
|
||||
= BANGSTICK {_xNum :: Int}
|
||||
@@ -166,7 +161,6 @@ data HeldItemType
|
||||
| FLATSHIELD
|
||||
| KEYCARD Int
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary HeldItemType
|
||||
|
||||
data ItemModuleType
|
||||
= EMPTYMODULE
|
||||
@@ -192,14 +186,12 @@ data ItemModuleType
|
||||
| EXTRABATTERY
|
||||
| ATTACHTORCH
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary ItemModuleType
|
||||
|
||||
data Detector
|
||||
= ITEMDETECTOR
|
||||
| CREATUREDETECTOR
|
||||
| WALLDETECTOR
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary Detector
|
||||
|
||||
data ModuleSlot
|
||||
= ModBullet
|
||||
@@ -214,7 +206,6 @@ data ModuleSlot
|
||||
| ModDualBeam
|
||||
| ModHeldAttach
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary ModuleSlot
|
||||
|
||||
instance ToJSONKey ModuleSlot
|
||||
|
||||
@@ -234,3 +225,14 @@ deriveJSON defaultOptions ''ModuleSlot
|
||||
makeLenses ''ItemType
|
||||
makeLenses ''ItemBaseType
|
||||
makeLenses ''HeldItemType
|
||||
$($(derive [d| instance Deriving (Store ItemType ) |]))
|
||||
$($(derive [d| instance Deriving (Store Stack ) |]))
|
||||
$($(derive [d| instance Deriving (Store CraftType) |]))
|
||||
$($(derive [d| instance Deriving (Store ItemBaseType) |]))
|
||||
$($(derive [d| instance Deriving (Store ConsumableItemType) |]))
|
||||
$($(derive [d| instance Deriving (Store EquipItemType) |]))
|
||||
$($(derive [d| instance Deriving (Store LeftItemType) |]))
|
||||
$($(derive [d| instance Deriving (Store HeldItemType) |]))
|
||||
$($(derive [d| instance Deriving (Store ItemModuleType) |]))
|
||||
$($(derive [d| instance Deriving (Store Detector) |]))
|
||||
$($(derive [d| instance Deriving (Store ModuleSlot) |]))
|
||||
|
||||
Reference in New Issue
Block a user