Prop reification/splitting
This commit is contained in:
+12
-2
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user