module Dodge.Default.Wall
    where
import Dodge.Data
import Picture
import qualified DoubleStack as DS
import Geometry.Data
{- Indestructible wall.  -}
defaultWall :: Wall
defaultWall = Wall 
    { _wlLine = (V2 0 0,V2 50 0)
    , _wlID = 0
    , _wlColor = greyN 0.6
    , _wlSeen = False
    , _wlIsSeeThrough = False
    }
{- Indestructible see-through wall.  -}
defaultCrystalWall :: Wall
defaultCrystalWall = Wall 
    { _wlLine = (V2 0 0,V2 50 0)
    , _wlID = 0
    , _wlColor = withAlpha 0.5 aquamarine
    , _wlSeen = False
    , _wlIsSeeThrough = True
    }
{- Door that opens on approach.
Pathable.  -}
defaultAutoDoor :: Wall
defaultAutoDoor = Door 
    { _wlLine = (V2 0 0,V2 50 0)
    , _wlID = 0
    , _doorMech = id
    , _wlColor = light $ dim $ dim $ dim yellow
    , _wlSeen = False
    , _wlIsSeeThrough = False
    , _doorPathable = True
    , _drPositions = DS.singleton (V2 0 0,V2 50 0)
    }
{-
Non-pathable door.
 -}
defaultDoor :: Wall
defaultDoor = Door 
    { _wlLine = (V2 0 0,V2 50 0)
    , _wlID = 0
    , _doorMech = id
    , _wlColor = light $ dim $ dim $ dim yellow
    , _wlSeen = False
    , _wlIsSeeThrough = False
    , _doorPathable = False
    , _drPositions = DS.singleton (V2 0 0,V2 50 0)
    }
