29 lines
862 B
Haskell
29 lines
862 B
Haskell
module Dodge.Placement.Instance.Block where
|
|
|
|
import Shape.Data
|
|
import Color
|
|
import Dodge.Data.GenWorld
|
|
import Dodge.Default.Block
|
|
import Dodge.Default.Wall
|
|
import Geometry
|
|
import LensHelp
|
|
|
|
decoratedBlock :: Shape -> Material -> Color -> Float -> [Point2] -> PSType
|
|
decoratedBlock decf mat col h ps = PutBlock bl wl $ reverse ps
|
|
where
|
|
bl =
|
|
defaultBlock
|
|
& blDraw .~ BlockDraws [BlockDrawColHeightPoss col h ps, BlockDrawBlSh decf]
|
|
& blHeight .~ h
|
|
wl =
|
|
defaultWall
|
|
-- & wlPathFlag . at WallNotDestrucable .~ Nothing
|
|
-- & wlPathFlag . at WallBlockVisibility .~ Nothing
|
|
& wlRotateTo .~ False
|
|
& wlOpacity .~ SeeAbove
|
|
& wlMaterial .~ mat
|
|
& wlHeight .~ h
|
|
|
|
lowBlock :: Material -> Color -> Float -> [Point2] -> PSType
|
|
lowBlock = decoratedBlock mempty
|