{-# LANGUAGE StrictData #-} {-# LANGUAGE TemplateHaskell #-} module Dodge.Data.EnergyBall ( module Dodge.Data.EnergyBall, module Dodge.Data.EnergyBall.Type, ) where import Dodge.Data.Damage import Control.Lens import Data.Aeson import Data.Aeson.TH import Dodge.Data.EnergyBall.Type import Geometry.Data data EnergyBall = EnergyBall { _ebVel :: Point3 , _ebPos :: Point3 , _ebTimer :: Int , _ebType :: EnergyBallType , _ebOrigin :: DamageOrigin } deriving (Eq, Ord, Show, Read) --Generic, Flat) makeLenses ''EnergyBall deriveJSON defaultOptions ''EnergyBall