Add Store instances

This commit is contained in:
2022-08-21 12:21:05 +01:00
parent 1ce7d4a72d
commit dd62e30026
92 changed files with 465 additions and 255 deletions
+8 -5
View File
@@ -48,8 +48,11 @@ module Dodge.Data.CWorld (
module Dodge.Data.WorldEffect,
) where
import TH.Derive
import Data.Store
import Data.Binary
import Flat
import LinearHelp
import Control.Lens
import Data.Aeson
import Data.Aeson.TH
@@ -115,7 +118,6 @@ data CWCam = CWCam
, _cwcBoundDist :: (Float, Float, Float, Float) -- NSEW, S and W negative
}
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance Binary CWCam
data CWorld = CWorld
--{ _cameraCenter :: Point2
@@ -191,7 +193,6 @@ data CWorld = CWorld
}
deriving (Eq, Show, Read, Generic)
--hderiving (Eq, Show, Read, Generic, Flat)
--instance Binary CWorld
data CWTime = CWTime
{ _maybeWorld :: Maybe' CWorld
@@ -201,7 +202,6 @@ data CWTime = CWTime
}
deriving (Eq, Show, Read, Generic)
--hderiving (Eq, Show, Read, Generic, Flat)
--instance Binary CWTime
data CWGen = CWGen
@@ -212,7 +212,6 @@ data CWGen = CWGen
, _cwgSeed :: Int
}
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance Binary CWGen
data WorldBeams = WorldBeams
{ _blockingBeams :: [Beam]
@@ -221,7 +220,6 @@ data WorldBeams = WorldBeams
, _electronBeams :: [Beam]
}
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance Binary WorldBeams
deriveJSON defaultOptions ''CWorld
deriveJSON defaultOptions ''WorldBeams
@@ -233,3 +231,8 @@ makeLenses ''WorldBeams
makeLenses ''CWCam
makeLenses ''CWGen
makeLenses ''CWTime
$($(derive [d| instance Deriving (Store CWCam ) |]))
$($(derive [d| instance Deriving (Store CWorld ) |]))
$($(derive [d| instance Deriving (Store CWTime ) |]))
$($(derive [d| instance Deriving (Store CWGen ) |]))
$($(derive [d| instance Deriving (Store WorldBeams ) |]))