Files
loop/src/Dodge/Data/Laser.hs
T
2022-07-24 00:20:28 +01:00

31 lines
646 B
Haskell

{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE StrictData #-}
module Dodge.Data.Laser
where
import Color
import Geometry.Data
import Control.Lens
data LaserType = DamageLaser {_laserTypeDamage :: Int}
| TargetLaser
deriving (Eq,Ord,Show,Read)
data LaserStart = LaserStart
{ _lpPhaseV :: Float
, _lpPos :: Point2
, _lpDir :: Float
, _lpColor :: Color
, _lpType :: LaserType
}
deriving (Eq,Ord,Show,Read)
data Laser = Laser
{ _laColor :: Color
, _laPoints :: [Point2]
, _laType :: LaserType
}
deriving (Eq,Ord,Show,Read)
makeLenses ''Laser
makeLenses ''LaserStart
makeLenses ''LaserType