{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE TemplateHaskell #-} module Dodge.Data.Spark where import Color import Control.Lens import Data.Aeson import Data.Aeson.TH import Dodge.Data.Damage.Type import Geometry.Data data Spark = Spark { _skVel :: Point2 , _skColor :: Color , _skPos :: Point2 , _skOldPos :: Point2 , _skWidth :: Float , _skDamageType :: DamageType } deriving (Eq, Ord, Show, Read) --Generic, Flat) makeLenses ''Spark deriveJSON defaultOptions ''Spark