module Dodge.Default.Wall ( defaultWall, defaultMachineWall, defaultWindow, defaultCrystalWall, defaultDoorWall, defaultDirtWall, defaultAutoWall, ) where import Control.Lens import Dodge.Data.Wall import Geometry.Data defaultWall :: Wall defaultWall = Wall { _wlLine = (V2 0 0, V2 50 0) , _wlID = 0 , _wlOpacity = Opaque 11 , _wlUnshadowed = True , _wlRotateTo = True , _wlStructure = StandaloneWall , _wlHeight = 100 , _wlMaterial = Stone , _wlTouchThrough = False } defaultDoorWall :: Wall defaultDoorWall = defaultWall & wlMaterial .~ Metal & wlOpacity .~ Opaque 0 defaultAutoWall :: Wall defaultAutoWall = defaultDoorWall & wlOpacity .~ Opaque 9 defaultCrystalWall :: Wall defaultCrystalWall = defaultWall & wlOpacity .~ SeeThrough & wlMaterial .~ Crystal defaultMachineWall :: Wall defaultMachineWall = defaultWall & wlOpacity .~ SeeAbove & wlRotateTo .~ False & wlStructure .~ MachinePart 0 & wlMaterial .~ Metal & wlTouchThrough .~ True defaultDirtWall :: Wall defaultDirtWall = defaultWall & wlOpacity .~ Opaque 6 & wlRotateTo .~ False & wlMaterial .~ Dirt defaultWindow :: Wall defaultWindow = defaultWall & wlOpacity .~ SeeThrough & wlMaterial .~ Glass