Files
loop/src/Dodge/Wall/Create.hs
T
2025-11-09 11:31:29 +00:00

17 lines
408 B
Haskell

module Dodge.Wall.Create (createWall) where
import Control.Lens
import Dodge.Data.World
import Dodge.Wall.Zone
import qualified IntMapHelp as IM
createWall :: Wall -> World -> (Int, World)
createWall wl w =
( wlid
, w & cWorld . lWorld . walls %~ IM.insert wlid newwl
& insertWallInZones newwl
)
where
newwl = wl & wlID .~ wlid
wlid = IM.newKey $ w ^. cWorld . lWorld . walls