diff options
| author | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-08-25 21:10:40 +0200 |
|---|---|---|
| committer | Georgios Andreadis <g.andreadis@student.tudelft.nl> | 2017-09-23 10:05:44 +0200 |
| commit | 8f5e6d1e73f16e3cdd523f961d06e4b4eb5a8cef (patch) | |
| tree | 57cafd6d8bf42f804da8e2246f64c43a1c52b100 /src/components/map/elements | |
| parent | c47a27b826f7d76410308a4151611a366f9eaf46 (diff) | |
Implement wall drawing
Diffstat (limited to 'src/components/map/elements')
| -rw-r--r-- | src/components/map/elements/WallSegment.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/components/map/elements/WallSegment.js b/src/components/map/elements/WallSegment.js new file mode 100644 index 00000000..ed3627bb --- /dev/null +++ b/src/components/map/elements/WallSegment.js @@ -0,0 +1,39 @@ +import React from "react"; +import {Line} from "react-konva"; +import {WALL_COLOR} from "../../../colors/index"; +import Shapes from "../../../shapes/index"; +import {TILE_SIZE_IN_PIXELS, WALL_WIDTH_IN_PIXELS} from "../MapConstants"; + +const WallSegment = ({wallSegment}) => { + let points; + if (wallSegment.isHorizontal) { + points = [ + wallSegment.startPosX * TILE_SIZE_IN_PIXELS, + wallSegment.startPosY * TILE_SIZE_IN_PIXELS, + (wallSegment.startPosX + wallSegment.length) * TILE_SIZE_IN_PIXELS, + wallSegment.startPosY * TILE_SIZE_IN_PIXELS + ]; + } else { + points = [ + wallSegment.startPosX * TILE_SIZE_IN_PIXELS, + wallSegment.startPosY * TILE_SIZE_IN_PIXELS, + wallSegment.startPosX * TILE_SIZE_IN_PIXELS, + (wallSegment.startPosY + wallSegment.length) * TILE_SIZE_IN_PIXELS, + ]; + } + + return ( + <Line + points={points} + lineCap="round" + stroke={WALL_COLOR} + strokeWidth={WALL_WIDTH_IN_PIXELS} + /> + ) +}; + +WallSegment.propTypes = { + wallSegment: Shapes.WallSegment, +}; + +export default WallSegment; |
