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)