{-# LANGUAGE StrictData #-} {-# LANGUAGE TemplateHaskell #-} module Dodge.Data.PlasmaBall (module Dodge.Data.PlasmaBall) where import Dodge.Data.Damage import Control.Lens import Data.Aeson import Data.Aeson.TH import Geometry.Data data PlasmaBall = PBall { _pbType :: PlasmaBallType , _pbVel :: Point2 , _pbPos :: Point2 , _pbOrigin :: DamageOrigin } deriving (Show, Eq, Ord, Read) --Generic, Flat) data PlasmaBallType = DefaultPlasma deriving (Show, Eq, Ord, Read) --Generic, Flat) makeLenses ''PlasmaBall deriveJSON defaultOptions ''PlasmaBallType deriveJSON defaultOptions ''PlasmaBall