{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE TemplateHaskell #-} module Dodge.Data.Flame where import Color import Control.Lens import Data.Aeson import Data.Aeson.TH import Geometry.Data data Flame = Flame { _flVel :: Point2 , _flColor :: Color , _flPos :: Point2 , _flWidth :: Float , _flTimer :: Int , _flZ :: Float , _flOriginalVel :: Point2 } deriving (Eq, Ord, Show, Read) --Generic, Flat) makeLenses ''Flame deriveJSON defaultOptions ''Flame