Files
loop/src/Dodge/Data/PosEvent.hs
T
2022-08-21 10:58:19 +01:00

31 lines
689 B
Haskell

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