Refactor, try to limit dependencies
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user