SignalBox centering, debug pointerEvents toggle
+After loading a scenery, the view is now centered on its first SignalBox +Added an option in Constants to forcibly enable pointerEvents on all map layers
This commit is contained in:
parent
89b747f1b1
commit
56ffe221c0
@ -1,6 +1,7 @@
|
||||
import React, { useContext, useMemo, memo } from "react";
|
||||
import MainContext from "../../contexts/MainContext";
|
||||
import SettingsContext from "../../contexts/SettingsContext";
|
||||
import Constants from "../../helpers/constants";
|
||||
|
||||
export default function SceneryLayer(props) {
|
||||
const { queueItem } = props;
|
||||
@ -18,6 +19,8 @@ export default function SceneryLayer(props) {
|
||||
|
||||
if (!scenery || !isVisible) return null;
|
||||
|
||||
const pointerEvents = Constants.map.forcePointerEvents || queueItem.pointerEvents || false;
|
||||
|
||||
return (
|
||||
<MemoizedSceneryLayer
|
||||
name={name}
|
||||
@ -25,7 +28,7 @@ export default function SceneryLayer(props) {
|
||||
objects={objects}
|
||||
type={type}
|
||||
types={types}
|
||||
pointerEvents={queueItem.pointerEvents || false}
|
||||
pointerEvents={pointerEvents}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
@ -4,9 +4,11 @@ import SceneryParser from "../../model/scenery-parser";
|
||||
import { showCustomDialog } from "../../services/dialogService";
|
||||
import SceneryLoadedDialog from "../scenery-loaded-dialog/SceneryLoadedDialog";
|
||||
import SceneryParserLog from "../../model/scenery-parser-log";
|
||||
import { useZoomPanEmitter } from "../../hooks/useZoomPubSub";
|
||||
|
||||
export default function FileSelect() {
|
||||
const {setScenery, setIsLoading} = useContext(MainContext);
|
||||
const { center } = useZoomPanEmitter();
|
||||
|
||||
const handleFileChange = (event) => {
|
||||
const file = event.target.files[0];
|
||||
@ -21,6 +23,9 @@ export default function FileSelect() {
|
||||
try {
|
||||
const scenery = SceneryParser.fromText(e.target?.result);
|
||||
setScenery(scenery);
|
||||
|
||||
const mainSignalBoxPos = scenery.signalBoxes?.[0]?.pos || null;
|
||||
if (mainSignalBoxPos) center(...mainSignalBoxPos.toSVGCoords());
|
||||
} catch (error) {
|
||||
loadingError = error;
|
||||
setScenery(null);
|
||||
|
||||
@ -2,7 +2,8 @@ const Constants = {
|
||||
map: {
|
||||
zoomSensitivity: 0.002,
|
||||
trackSlopeScale: 10,
|
||||
trackMaxSpeedScale: 1.5
|
||||
trackMaxSpeedScale: 1.5,
|
||||
pointerEvents: false
|
||||
},
|
||||
parser: {
|
||||
forceAutoSwitches: false,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user