Files
loop/src/Dodge/Data/Spark.hs
T

25 lines
552 B
Haskell

{-# LANGUAGE StrictData #-}
{-# LANGUAGE TemplateHaskell #-}
module Dodge.Data.Spark where
import Control.Lens
import Data.Aeson
import Data.Aeson.TH
import Geometry.Data
data Spark = Spark
{ _skVel :: Point2
, _skPos :: Point2
, _skOldPos :: Point2
, _skType :: SparkType
}
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data SparkType = ElectricSpark | FireSpark | NormalSpark
deriving (Eq, Ord, Show, Read) --Generic, Flat)
makeLenses ''Spark
deriveJSON defaultOptions ''SparkType
deriveJSON defaultOptions ''Spark