summaryrefslogtreecommitdiff
path: root/src/components/map/layers
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/map/layers')
-rw-r--r--src/components/map/layers/HoverLayerComponent.js (renamed from src/components/map/layers/HoverTileLayerComponent.js)16
-rw-r--r--src/components/map/layers/ObjectHoverLayerComponent.js11
-rw-r--r--src/components/map/layers/RoomHoverLayerComponent.js8
3 files changed, 28 insertions, 7 deletions
diff --git a/src/components/map/layers/HoverTileLayerComponent.js b/src/components/map/layers/HoverLayerComponent.js
index bd07596a..861d2b9a 100644
--- a/src/components/map/layers/HoverTileLayerComponent.js
+++ b/src/components/map/layers/HoverLayerComponent.js
@@ -4,14 +4,14 @@ import {Layer} from "react-konva";
import HoverTile from "../elements/HoverTile";
import {TILE_SIZE_IN_PIXELS} from "../MapConstants";
-class HoverTileLayerComponent extends React.Component {
+class HoverLayerComponent extends React.Component {
static propTypes = {
mouseX: PropTypes.number.isRequired,
mouseY: PropTypes.number.isRequired,
mainGroupX: PropTypes.number.isRequired,
mainGroupY: PropTypes.number.isRequired,
+ isEnabled: PropTypes.func.isRequired,
onClick: PropTypes.func.isRequired,
- containsRack: PropTypes.bool,
};
state = {
@@ -21,7 +21,7 @@ class HoverTileLayerComponent extends React.Component {
};
componentDidUpdate() {
- if (this.props.currentRoomInConstruction === -1) {
+ if (!this.props.isEnabled()) {
return;
}
@@ -34,7 +34,7 @@ class HoverTileLayerComponent extends React.Component {
}
render() {
- if (this.props.currentRoomInConstruction === -1) {
+ if (!this.props.isEnabled()) {
return <Layer/>;
}
@@ -44,14 +44,16 @@ class HoverTileLayerComponent extends React.Component {
const pixelY = positionY * TILE_SIZE_IN_PIXELS + this.props.mainGroupY;
return (
- <Layer opacity={0.4}>
+ <Layer opacity={0.6}>
<HoverTile
pixelX={pixelX} pixelY={pixelY}
- isValid={this.state.validity} onClick={() => this.props.onClick(positionX, positionY)}
+ isValid={this.state.validity}
+ onClick={() => this.state.validity ? this.props.onClick(positionX, positionY) : undefined}
/>
+ {this.props.children ? React.cloneElement(this.props.children, {pixelX, pixelY}) : undefined}
</Layer>
);
}
}
-export default HoverTileLayerComponent;
+export default HoverLayerComponent;
diff --git a/src/components/map/layers/ObjectHoverLayerComponent.js b/src/components/map/layers/ObjectHoverLayerComponent.js
new file mode 100644
index 00000000..91757cb3
--- /dev/null
+++ b/src/components/map/layers/ObjectHoverLayerComponent.js
@@ -0,0 +1,11 @@
+import React from 'react';
+import TilePlusIcon from "../elements/TilePlusIcon";
+import HoverLayerComponent from "./HoverLayerComponent";
+
+const ObjectHoverLayerComponent = (props) => (
+ <HoverLayerComponent {...props}>
+ <TilePlusIcon/>
+ </HoverLayerComponent>
+);
+
+export default ObjectHoverLayerComponent;
diff --git a/src/components/map/layers/RoomHoverLayerComponent.js b/src/components/map/layers/RoomHoverLayerComponent.js
new file mode 100644
index 00000000..2133c8d8
--- /dev/null
+++ b/src/components/map/layers/RoomHoverLayerComponent.js
@@ -0,0 +1,8 @@
+import React from 'react';
+import HoverLayerComponent from "./HoverLayerComponent";
+
+const RoomHoverLayerComponent = (props) => (
+ <HoverLayerComponent {...props}/>
+);
+
+export default RoomHoverLayerComponent;