Files
loop/src/Dodge/LinearShockwave/Update.hs
T

17 lines
391 B
Haskell

module Dodge.LinearShockwave.Update
where
import Dodge.Data
import qualified IntMapHelp as IM
import Control.Lens
updateLinearShockwave :: LinearShockwave -> World -> World
updateLinearShockwave lw w
| t < 1 = w & cWorld . linearShockwaves %~ IM.delete lwid
| otherwise = w & cWorld . linearShockwaves . ix lwid . lwTimer -~ 1
where
lwid = _lwID lw
t = _lwTimer lw