17 lines
373 B
Haskell
17 lines
373 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 & linearShockwaves %~ IM.delete lwid
|
|
| otherwise = w & linearShockwaves . ix lwid . lwTimer -~ 1
|
|
where
|
|
lwid = _lwID lw
|
|
t = _lwTimer lw
|
|
|
|
|