Refactor, try to limit dependencies
This commit is contained in:
+22
-23
@@ -1,39 +1,38 @@
|
||||
{-# LANGUAGE DeriveGeneric #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
{-# LANGUAGE StrictData #-}
|
||||
module Dodge.Data.Laser
|
||||
where
|
||||
import GHC.Generics
|
||||
import Data.Aeson
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
module Dodge.Data.Laser where
|
||||
|
||||
import Color
|
||||
import Geometry.Data
|
||||
import Control.Lens
|
||||
data LaserType = DamageLaser {_laserTypeDamage :: Int}
|
||||
import Data.Aeson
|
||||
import Data.Aeson.TH
|
||||
import Geometry.Data
|
||||
|
||||
data LaserType
|
||||
= DamageLaser {_laserTypeDamage :: Int}
|
||||
| TargetLaser
|
||||
deriving (Eq,Ord,Show,Read,Generic)
|
||||
instance ToJSON LaserType where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON LaserType
|
||||
deriving (Eq, Ord, Show, Read)
|
||||
|
||||
data LaserStart = LaserStart
|
||||
{ _lpPhaseV :: Float
|
||||
, _lpPos :: Point2
|
||||
, _lpDir :: Float
|
||||
, _lpColor :: Color
|
||||
, _lpType :: LaserType
|
||||
, _lpType :: LaserType
|
||||
}
|
||||
deriving (Eq,Ord,Show,Read,Generic)
|
||||
instance ToJSON LaserStart where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON LaserStart
|
||||
deriving (Eq, Ord, Show, Read)
|
||||
|
||||
data Laser = Laser
|
||||
{ _laColor :: Color
|
||||
{ _laColor :: Color
|
||||
, _laPoints :: [Point2]
|
||||
, _laType :: LaserType
|
||||
, _laType :: LaserType
|
||||
}
|
||||
deriving (Eq,Ord,Show,Read,Generic)
|
||||
instance ToJSON Laser where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON Laser
|
||||
deriving (Eq, Ord, Show, Read)
|
||||
|
||||
makeLenses ''Laser
|
||||
makeLenses ''LaserStart
|
||||
makeLenses ''LaserType
|
||||
deriveJSON defaultOptions ''LaserType
|
||||
deriveJSON defaultOptions ''LaserStart
|
||||
deriveJSON defaultOptions ''Laser
|
||||
|
||||
Reference in New Issue
Block a user