Refactor, try to limit dependencies
This commit is contained in:
+18
-18
@@ -1,18 +1,19 @@
|
||||
{-# LANGUAGE DeriveGeneric #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
{-# LANGUAGE StrictData #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
module Dodge.Data.Cloud where
|
||||
import GHC.Generics
|
||||
import Data.Aeson
|
||||
import Geometry
|
||||
|
||||
import Color
|
||||
import Control.Lens
|
||||
data CloudDraw = CloudColor Float Float Color -- radius-multiply fade-time color
|
||||
import Data.Aeson
|
||||
import Data.Aeson.TH
|
||||
import Geometry
|
||||
|
||||
data CloudDraw
|
||||
= CloudColor Float Float Color -- radius-multiply fade-time color
|
||||
| DrawGasCloud Color
|
||||
deriving (Eq,Ord,Show,Read,Generic)
|
||||
instance ToJSON CloudDraw where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON CloudDraw
|
||||
deriving (Eq, Ord, Show, Read)
|
||||
|
||||
data Cloud = Cloud
|
||||
{ _clPos :: Point3
|
||||
, _clVel :: Point3
|
||||
@@ -22,15 +23,14 @@ data Cloud = Cloud
|
||||
, _clTimer :: Int
|
||||
, _clType :: CloudType
|
||||
}
|
||||
deriving (Eq,Ord,Show,Read,Generic)
|
||||
instance ToJSON Cloud where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON Cloud
|
||||
deriving (Eq, Ord, Show, Read)
|
||||
|
||||
data CloudType
|
||||
= SmokeCloud
|
||||
| GasCloud
|
||||
deriving (Eq,Ord,Show,Read,Generic)
|
||||
instance ToJSON CloudType where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON CloudType
|
||||
deriving (Eq, Ord, Show, Read)
|
||||
|
||||
makeLenses ''Cloud
|
||||
deriveJSON defaultOptions ''CloudDraw
|
||||
deriveJSON defaultOptions ''Cloud
|
||||
deriveJSON defaultOptions ''CloudType
|
||||
|
||||
Reference in New Issue
Block a user