44 lines
992 B
Haskell
44 lines
992 B
Haskell
module Dodge.Default.Door
|
|
( module Dodge.Default.Door
|
|
, module Dodge.Default.Wall
|
|
) where
|
|
import Dodge.Data
|
|
import Dodge.Default.Wall
|
|
import Dodge.Block.Debris
|
|
import Color
|
|
|
|
import Control.Lens
|
|
|
|
switchWallCol :: Color -> Wall
|
|
switchWallCol col = defaultSwitchWall & wlColor .~ col
|
|
|
|
defaultAutoWall :: Wall
|
|
defaultAutoWall = defaultDoorWall'
|
|
& wlColor .~ dim yellow
|
|
& wlPathable .~ True
|
|
defaultSwitchWall :: Wall
|
|
defaultSwitchWall = defaultDoorWall'
|
|
& wlColor .~ red
|
|
& wlPathable .~ False
|
|
|
|
defaultDoor :: Door
|
|
defaultDoor = Door
|
|
{ _drID = 0
|
|
, _drWallIDs = mempty
|
|
, _drStatus = DoorClosed
|
|
, _drTrigger = const False
|
|
, _drMech = const id
|
|
, _drPos = (0,0)
|
|
, _drOpenPos = (0,0)
|
|
, _drClosePos = (0,0)
|
|
, _drHP = 10000
|
|
, _drDeath = makeDoorDebris
|
|
, _drSpeed = 1
|
|
, _drPushedBy = PushesItself
|
|
, _drPushes = Nothing
|
|
, _drMounts = mempty
|
|
, _drObstructs = mempty
|
|
, _drObstacleType = DoorObstacle
|
|
}
|
|
|