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)