Separate and reify laser beams
This commit is contained in:
@@ -4,6 +4,7 @@ Module : Dodge.Update
|
||||
Description : Simulation update
|
||||
-}
|
||||
module Dodge.Update ( updateUniverse ) where
|
||||
import Dodge.Laser.Update
|
||||
import Dodge.PressPlate
|
||||
import Dodge.ModificationEffect
|
||||
import Dodge.CrGroupUpdate
|
||||
@@ -94,6 +95,7 @@ functionalUpdate w = checkEndGame
|
||||
. over uvWorld updateRadarBlips
|
||||
. over uvWorld updateFlares
|
||||
. over uvWorld updateBeams
|
||||
. over uvWorld updateLasers
|
||||
. over uvWorld (updateIMl _props _pjUpdate )
|
||||
. over uvWorld (updateIMl' _projectiles updateProjectile)
|
||||
. over uvWorld updateLightSources
|
||||
@@ -118,6 +120,13 @@ functionalUpdate w = checkEndGame
|
||||
doWorldEvents :: World -> World
|
||||
doWorldEvents w = foldr doWorldEffect (w & worldEvents .~ []) (_worldEvents w)
|
||||
|
||||
updateLasers :: World -> World
|
||||
updateLasers w = w'
|
||||
& lasers .~ []
|
||||
& lasersToDraw .~ ls
|
||||
where
|
||||
(w',ls) = mapAccumR updateLaser w (_lasers w)
|
||||
|
||||
zoneClouds :: World -> World
|
||||
zoneClouds w = w
|
||||
& clZoning .~ mempty
|
||||
|
||||
Reference in New Issue
Block a user