Prop reification/splitting

This commit is contained in:
2022-07-24 13:45:05 +01:00
parent 5a2f529182
commit ac069d08f6
31 changed files with 585 additions and 458 deletions
+12 -2
View File
@@ -4,6 +4,9 @@ Module : Dodge.Update
Description : Simulation update
-}
module Dodge.Update ( updateUniverse ) where
import Dodge.TractorBeam.Update
import Dodge.Prop.Update
import Dodge.LinearShockwave.Update
import Dodge.Shockwave.Update
import Dodge.Tesla.Arc
import Dodge.Laser.Update
@@ -61,7 +64,7 @@ updateUniverse u = case _menuLayers u of
(OptionScreen {_scOptionFlag = GameOverOptions} : _) -> u & uvWorld %~
( updateParticles
. (radarBlips .~ [])
. updateIMl _props _pjUpdate
-- . updateIMl _props _pjUpdate
. updateLightSources
. updateClouds )
(_ : _) -> u
@@ -100,7 +103,9 @@ functionalUpdate w = checkEndGame
. over uvWorld updateBeams
. over uvWorld updateLasers
. over uvWorld updateTeslaArcs
. over uvWorld (updateIMl _props _pjUpdate )
. over uvWorld updateTractorBeams
. over uvWorld (updateIMl' _linearShockwaves updateLinearShockwave)
. over uvWorld (updateIMl' _props updateProp )
. over uvWorld (updateIMl' _projectiles updateProjectile)
. over uvWorld updateLightSources
. over uvWorld updateClouds
@@ -238,6 +243,11 @@ updateTeslaArcs w = w' & teslaArcs .~ catMaybes newtas
where
(w',newtas) = mapAccumR moveTeslaArc w $ _teslaArcs w
updateTractorBeams :: World -> World
updateTractorBeams w = w' & tractorBeams .~ catMaybes newtas
where
(w',newtas) = mapAccumR updateTractorBeam w $ _tractorBeams w
{- Apply internal particle updates, delete 'Nothing's. -}
updateBullets :: World -> World