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

32 lines
679 B
Haskell

{-# LANGUAGE StrictData #-}
{-# LANGUAGE TemplateHaskell #-}
module Dodge.Data.PulseLaser where
import Control.Lens
import Data.Aeson
import Data.Aeson.TH
import Geometry.Data
data PulseLaser = PulseLaser
{ _pzPhaseV :: Float
, _pzPos :: Point2
, _pzDir :: Float
, _pzDamage :: Int
, _pzTimer :: Int
}
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data PulseBall = PulseBall
{ _pbVel :: Point2
, _pbPos :: Point2
, _pbTimer :: Int
, _pbID :: Int
}
deriving (Eq, Ord, Show, Read) --Generic, Flat)
makeLenses ''PulseLaser
makeLenses ''PulseBall
deriveJSON defaultOptions ''PulseLaser
deriveJSON defaultOptions ''PulseBall