Attempt to fix some space leaks, general cleanup
This commit is contained in:
@@ -5,13 +5,14 @@ import Data.Maybe
|
||||
import Dodge.Data.World
|
||||
import Dodge.Wall.Damage
|
||||
import qualified IntMapHelp as IM
|
||||
import Data.Foldable
|
||||
|
||||
updateWallDamages :: World -> World
|
||||
updateWallDamages w =
|
||||
w
|
||||
& cWorld . wallDamages .~ IM.empty
|
||||
& flip (IM.foldrWithKey f) (_wallDamages (_cWorld w))
|
||||
& flip (IM.foldlWithKey' f) (_wallDamages (_cWorld w))
|
||||
where
|
||||
f k dams w' = fromMaybe w' $ do
|
||||
f w' k dams = fromMaybe w' $ do
|
||||
wl <- w' ^? cWorld . walls . ix k
|
||||
return $ foldr (`damageWall` wl) w' dams
|
||||
return $ foldl' (flip (`damageWall` wl)) w' dams
|
||||
|
||||
Reference in New Issue
Block a user