Improve debris slightly

This commit is contained in:
2026-03-31 21:57:15 +01:00
parent 5701261ace
commit 074d354970
8 changed files with 227 additions and 210 deletions
+4 -15
View File
@@ -1,6 +1,7 @@
module Dodge.Machine.Destroy where
module Dodge.Machine.Destroy (destroyMachine) where
import Geometry.Vector3D
import Linear
import Dodge.Block.Debris
import Dodge.FloorItem
import Data.Maybe
import Dodge.Data.World
@@ -15,7 +16,7 @@ destroyMachine mc =
(cWorld . lWorld . machines %~ IM.delete (_mcID mc))
. deleteWallIDs (IM.keysSet $ _mcFootPrint mc)
. makeMachineDebris mc
. makeSmallExplosionAt (_mcPos mc `v2z` 20) 0
. makeSmallExplosionAt (20 & _xy .~ _mcPos mc) 0
. mcKillTerm mc
. mcKillBut mc
. destroyMcType (mc ^. mcType) mc
@@ -23,18 +24,6 @@ destroyMachine mc =
--explodeMachine :: Machine -> MachineType -> World -> World
--explodeMachine mc = \case
makeMachineDebris :: Machine -> World -> World
makeMachineDebris _ = id -- foldl' (flip $ makeDebris mt) w ps
--makeMachineDebris mc = id -- foldl' (flip $ makeDebris mt) w ps
-- where
-- dsize = debrisSize mt
-- ps = gridInPolygon dsize $ shrinkPolyOnEdges dsize $ reverse (_mcFootprint bl)
-- mt = fromMaybe Stone $ do
-- wlids <- w ^? cWorld . lWorld . blocks . ix (_blID bl) . blWallIDs
-- (wlid, _) <- IS.minView wlids
-- wl <- w ^? cWorld . lWorld . walls . ix wlid
-- return $ _wlMaterial wl
destroyMcType :: MachineType -> Machine -> World -> World
destroyMcType mt mc w = case mt of
McTurret tu _ -> fromMaybe w $ do
+1 -1
View File
@@ -1,4 +1,4 @@
module Dodge.Machine.Draw (drawMachine) where
module Dodge.Machine.Draw (drawMachine,mcColor) where
import Control.Lens
import qualified Data.Map.Strict as M