Files
loop/src/Dodge/Shockwave/Draw.hs
T

19 lines
478 B
Haskell

module Dodge.Shockwave.Draw where
import Dodge.Data.Shockwave
import Geometry
import Picture
drawShockwave :: Shockwave -> Picture
drawShockwave sw =
setDepth 20
. setLayer BloomLayer
. uncurryV translate (_swPos sw)
. color (_swColor sw)
$ thickCircle rad thickness
where
r = _swRad sw
thickness = tFraction ** 2 * r
rad = r - (3 / 4) * r * tFraction
tFraction = fromIntegral (_swTimer sw) / fromIntegral (_swMaxTime sw)