{-# LANGUAGE StrictData #-} {-# LANGUAGE TemplateHaskell #-} module Dodge.Data.RadarSweep ( module Dodge.Data.RadarSweep, module Dodge.Data.ObjectType, ) where import LinearHelp import Control.Lens import Data.Aeson import Data.Aeson.TH import Dodge.Data.ObjectType import Geometry.Data import TH.Derive import Data.Store data RadarSweep = RadarSweep { _rsPos :: Point2 , _rsRad :: Float , _rsObject :: ObjectType , _rsTimer :: Int } deriving (Eq, Ord, Show, Read) makeLenses ''RadarSweep deriveJSON defaultOptions ''RadarSweep $($(derive [d| instance Deriving (Store RadarSweep) |]))