{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE TemplateHaskell #-} module Dodge.Data.EnergyBall where import Color import Control.Lens import Data.Aeson import Data.Aeson.TH import Dodge.Data.Damage.Type import Geometry.Data data EnergyBall = EnergyBall { _ebVel :: Point2 , _ebColor :: Color , _ebPos :: Point2 , _ebWidth :: Float , _ebTimer :: Int , _ebEff :: (DamageType, Int) , _ebRot :: Float } deriving (Eq, Ord, Show, Read) --Generic, Flat) makeLenses ''EnergyBall deriveJSON defaultOptions ''EnergyBall