Refactor, try to limit dependencies

This commit is contained in:
2022-07-28 00:59:56 +01:00
parent 8aa5c17ab9
commit 160560af5f
418 changed files with 15104 additions and 13342 deletions
+15 -13
View File
@@ -1,26 +1,28 @@
module Dodge.Machine.Destroy where
import Dodge.WorldEffect
import Dodge.Wall.Delete
import Dodge.Data
import Dodge.WorldEvent.Explosion
import LensHelp
import Data.Maybe
import Dodge.Data.World
import Dodge.Wall.Delete
import Dodge.WorldEffect
import Dodge.WorldEvent.Explosion
import qualified IntMapHelp as IM
import LensHelp
destroyMachine :: Machine -> World -> World
destroyMachine mc = (cWorld . machines %~ IM.delete (_mcID mc))
. deleteWallIDs (_mcWallIDs mc)
. makeExplosionAt (_mcPos mc)
. mcKillTerm mc
. mcKillBut mc
destroyMachine mc =
(cWorld . machines %~ IM.delete (_mcID mc))
. deleteWallIDs (_mcWallIDs mc)
. makeExplosionAt (_mcPos mc)
. mcKillTerm mc
. mcKillBut mc
mcKillTerm :: Machine -> World -> World
mcKillTerm mc w = fromMaybe w $ do
tmid <- mc ^? mcMounts . ix ObTerminal
tm <- w ^? cWorld . terminals . ix tmid
return $ w
& doTmWdWd (_tmDeathEffect tm) tm
tm <- w ^? cWorld . terminals . ix tmid
return $
w
& doTmWdWd (_tmDeathEffect tm) tm
mcKillBut :: Machine -> World -> World
mcKillBut mc w = fromMaybe w $ do