{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE TemplateHaskell #-} module Dodge.Data.PosEvent where import Control.Lens import Data.Aeson import Data.Aeson.TH import Geometry.Data data PosEventType = SparkSpawner deriving (Eq, Ord, Show, Read) --Generic, Flat) data PosEvent = PosEvent { _pvType :: PosEventType , _pvTimer :: Int , _pvPos :: Point2 } deriving (Eq, Ord, Show, Read) --Generic, Flat) makeLenses ''PosEvent deriveJSON defaultOptions ''PosEventType deriveJSON defaultOptions ''PosEvent