Remove generic and flat instances

This commit is contained in:
2022-08-21 22:38:40 +01:00
parent 36c8befa9f
commit 7181046aa3
94 changed files with 312 additions and 423 deletions
+8 -20
View File
@@ -14,10 +14,10 @@ The warnings have been disabled.
-}
module Dodge.Data.PathGraph where
import Flat
import LinearHelp ()
import Control.Lens
import Data.Aeson
import Data.Aeson.TH
import Data.Graph.Inductive
import Data.Map.Strict (Map)
import qualified Data.Set as Set
@@ -29,12 +29,7 @@ data PathGraph = PathGraph
, _pgNodeCount :: Int
, _pgEdgeMap :: Map (V2 Point2) (Int, Int, PathEdge)
}
deriving (Eq, Show, Read, Generic)
instance ToJSON PathGraph where
toEncoding = genericToEncoding defaultOptions
instance FromJSON PathGraph
deriving (Eq, Show, Read) --, Generic)
data PathEdge = PathEdge
{ _peStart :: Point2
@@ -42,31 +37,24 @@ data PathEdge = PathEdge
, _peDist :: Float
, _peObstacles :: Set.Set EdgeObstacle
}
deriving (Eq, Ord, Show, Read, Generic, Flat)
instance ToJSON PathEdge where
toEncoding = genericToEncoding defaultOptions
instance FromJSON PathEdge
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data EdgeObstacle
= BlockObstacle
| DoorObstacle
| AutoDoorObstacle
| WallObstacle
deriving (Eq, Ord, Show, Read, Bounded, Enum, Generic, Flat)
instance ToJSON EdgeObstacle where
toEncoding = genericToEncoding defaultOptions
instance FromJSON EdgeObstacle
deriving (Eq, Ord, Show, Bounded, Enum, Read) --Generic, Flat)
instance (ToJSON a, ToJSON b) => ToJSON (Gr a b) where
toEncoding = genericToEncoding defaultOptions
instance (FromJSON a, FromJSON b) => FromJSON (Gr a b)
deriving instance (Flat (Gr Point2 PathEdge))
--deriving instance (Flat (Gr Point2 PathEdge))
makeLenses ''PathGraph
makeLenses ''PathEdge
deriveJSON defaultOptions ''PathGraph
deriveJSON defaultOptions ''PathEdge
deriveJSON defaultOptions ''EdgeObstacle