49 lines
1.1 KiB
Haskell
49 lines
1.1 KiB
Haskell
module Dodge.Default.Door (
|
|
module Dodge.Default.Door,
|
|
module Dodge.Default.Wall,
|
|
) where
|
|
|
|
import Color
|
|
import Control.Lens
|
|
import Dodge.Data.Door
|
|
import Dodge.Data.Wall
|
|
import Dodge.Default.Wall
|
|
|
|
switchWallCol :: Color -> Wall
|
|
switchWallCol col = defaultSwitchWall & wlColor .~ col
|
|
|
|
defaultAutoWall :: Wall
|
|
defaultAutoWall =
|
|
defaultDoorWall
|
|
& wlColor .~ dim yellow
|
|
& wlPathable .~ True
|
|
& wlOpacity .~ Opaque 9
|
|
|
|
defaultSwitchWall :: Wall
|
|
defaultSwitchWall =
|
|
defaultDoorWall
|
|
& wlColor .~ red
|
|
& wlPathable .~ False
|
|
& wlOpacity .~ Opaque 0
|
|
|
|
defaultDoor :: Door
|
|
defaultDoor =
|
|
Door
|
|
{ _drID = 0
|
|
, _drWallIDs = mempty
|
|
, _drStatus = DoorClosed
|
|
, _drTrigger = WdBlConst False
|
|
, _drMech = DrWdId
|
|
, _drPos = (0, 0)
|
|
, _drOpenPos = (0, 0)
|
|
, _drClosePos = (0, 0)
|
|
, _drHP = 10000
|
|
, _drDeath = DrWdMakeDoorDebris
|
|
, _drSpeed = 1
|
|
, _drPushedBy = PushesItself
|
|
, _drPushes = Nothing
|
|
, _drMounts = mempty
|
|
, _drObstructs = mempty
|
|
, _drObstacleType = DoorObstacle
|
|
}
|