Added platforms renderer
+Added an experimental platforms renderer
This commit is contained in:
parent
c01077ce38
commit
5b83f8c817
@ -128,3 +128,7 @@
|
|||||||
.map svg g.spawn-point path.background {
|
.map svg g.spawn-point path.background {
|
||||||
fill: #111;
|
fill: #111;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.map svg g.platform rect {
|
||||||
|
fill: #333;
|
||||||
|
}
|
||||||
|
|||||||
@ -11,8 +11,16 @@ import DerailerRenderer from './object-renderers/DerailerRenderer';
|
|||||||
import ElectrificationStatusPopup from './additional-layer-components/ElectrificationStatusPopup';
|
import ElectrificationStatusPopup from './additional-layer-components/ElectrificationStatusPopup';
|
||||||
import SpawnPointRenderer from './object-renderers/SpawnPointRenderer';
|
import SpawnPointRenderer from './object-renderers/SpawnPointRenderer';
|
||||||
import IsolationEndRenderer from './object-renderers/IsolationEndRenderer';
|
import IsolationEndRenderer from './object-renderers/IsolationEndRenderer';
|
||||||
|
import PlatformRenderer from './object-renderers/PlatformRenderer';
|
||||||
|
|
||||||
const ObjectRendererQueue = [
|
const ObjectRendererQueue = [
|
||||||
|
{
|
||||||
|
'name': 'platforms',
|
||||||
|
'category': 'misc',
|
||||||
|
'type': 'Platform',
|
||||||
|
'renderer': PlatformRenderer,
|
||||||
|
'cond': (layers) => layers['platforms'],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
'name': 'tracks',
|
'name': 'tracks',
|
||||||
'category': 'tracks',
|
'category': 'tracks',
|
||||||
|
|||||||
20
src/components/map/object-renderers/PlatformRenderer.js
Normal file
20
src/components/map/object-renderers/PlatformRenderer.js
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
export default function PlatformRenderer(props) {
|
||||||
|
const { object } = props;
|
||||||
|
const [x, y] = object.pos.toSVGCoords();
|
||||||
|
if(!object.def) return null;
|
||||||
|
|
||||||
|
const [centerX, centerY] = object.def.center.toSVGCoords();
|
||||||
|
const sizeX = object.def.size.x;
|
||||||
|
const sizeY = object.def.size.z;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<g className="platform" transform={`translate(${x}, ${y}) rotate(${object.rot.y})`}>
|
||||||
|
<rect
|
||||||
|
x={-sizeX / 2 + centerX}
|
||||||
|
y={-sizeY / 2 + centerY}
|
||||||
|
width={sizeX}
|
||||||
|
height={sizeY}
|
||||||
|
/>
|
||||||
|
</g>
|
||||||
|
);
|
||||||
|
}
|
||||||
@ -63,6 +63,11 @@ const Constants = {
|
|||||||
fetchListUrl: `${process.env.PUBLIC_URL}/sceneries/sceneries.json`,
|
fetchListUrl: `${process.env.PUBLIC_URL}/sceneries/sceneries.json`,
|
||||||
},
|
},
|
||||||
layers: [
|
layers: [
|
||||||
|
{
|
||||||
|
id: 'platforms',
|
||||||
|
name: 'Platforms (WIP)',
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: 'tracks',
|
id: 'tracks',
|
||||||
name: 'Tracks',
|
name: 'Tracks',
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user