blob: 4f18813ecc05702e90116f4b1f5b67e829049832 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
import React from 'react'
import { Line } from 'react-konva'
import { WallSegment as WallSegmentShape } from '../../../../shapes'
import { WALL_COLOR } from '../../../../util/colors'
import { TILE_SIZE_IN_PIXELS, WALL_WIDTH_IN_PIXELS } from '../MapConstants'
function 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: WallSegmentShape,
}
export default WallSegment
|