module Dodge.Default.Wall
    where
import Dodge.Data
import Dodge.Block.Debris -- this dependency is (directly) for dirtColor
import Picture
import Geometry.Data
{- Indestructible wall.  -}
defaultWall :: Wall
defaultWall = Wall 
    { _wlLine = (V2 0 0,V2 50 0)
    , _wlID = 0
    , _wlColor = greyN 0.6
    , _wlSeen = False
    , _wlOpacity    = Opaque
    , _wlPathable   = False
    , _wlFireThrough = False
    , _wlTouchThrough = False
    , _wlReflect = False
    , _wlDraw = True
    , _wlRotateTo = True
    , _wlStructure = StandaloneWall
    , _wlWalkable = False
    , _wlHeight = 100
    , _wlMaterial = Stone
    }
defaultDoorWall' :: Wall
defaultDoorWall' = defaultWall
    { _wlPathable = True
    , _wlMaterial = Metal
    }
{- Indestructible see-through wall.  -}
defaultCrystalWall :: Wall
defaultCrystalWall = defaultWall 
    { _wlColor = withAlpha 0.5 aquamarine
    , _wlOpacity = SeeThrough
    , _wlMaterial = Crystal
    }
defaultMachineWall :: Wall
defaultMachineWall = defaultWall
    { _wlOpacity = SeeAbove
    , _wlDraw = False
    , _wlRotateTo = False
    , _wlStructure = MachinePart 0
    , _wlMaterial  = Metal
    }
defaultDirtWall :: Wall
defaultDirtWall = defaultWall
    { _wlLine = (V2 0 0,V2 50 0)
    , _wlID = 0
    , _wlColor = dirtColor
    , _wlSeen = False
    , _wlOpacity = Opaque
    , _wlRotateTo = False
    , _wlDraw = True
    , _wlFireThrough = True
    , _wlMaterial    = Dirt
    }
defaultWindow :: Wall
defaultWindow = defaultWall
    { _wlLine = (V2 0 0,V2 50 0)
    , _wlID = 0
    , _wlColor = withAlpha 0.5 cyan
    , _wlSeen = False
    , _wlOpacity = SeeThrough
    , _wlDraw = True
    , _wlFireThrough = True
    , _wlMaterial    = Glass
    }
