Files
loop/src/Dodge/Wall/Create.hs
T

17 lines
428 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 --_walls (_cWorld w)