Fix isolation IDs rendering for all switch tracks

This commit is contained in:
dominik-korsa 2025-07-23 01:50:48 +02:00
parent 9e5e6ab7cb
commit f52800c81d
No known key found for this signature in database
GPG Key ID: 5A24D76EE0A30974
2 changed files with 6 additions and 3 deletions

View File

@ -13,6 +13,7 @@ import SpawnPointRenderer from './object-renderers/SpawnPointRenderer';
import IsolationEndRenderer from './object-renderers/IsolationEndRenderer';
import PlatformRenderer from './object-renderers/PlatformRenderer';
import Constants from '../../helpers/constants';
import {TrackSource} from "../../model/tracks/track";
const ObjectRendererQueue = [
{
@ -41,7 +42,7 @@ const ObjectRendererQueue = [
{
'name': 'isolations-ids',
'category': ['tracks', 'switches'],
'types': ['StandardTrack', 'BezierTrack', 'Switch'],
'trackSources': [TrackSource.STANDARD, TrackSource.BEZIER],
'renderer': IsolationIdRenderer,
'cond': (layers) => layers['isolations-ids']
},

View File

@ -5,7 +5,7 @@ import Constants from "../../helpers/constants";
export default function SceneryLayer(props) {
const { queueItem } = props;
const { name, category, type, types, cond, renderer: Renderer, additionalComponents: AdditionalComponents } = queueItem;
const { name, category, type, types, trackSources, cond, renderer: Renderer, additionalComponents: AdditionalComponents } = queueItem;
const { scenery } = useContext(MainContext);
const { layers } = useContext(SettingsContext);
@ -35,6 +35,7 @@ export default function SceneryLayer(props) {
objects={objects}
type={type}
types={types}
trackSources={trackSources}
pointerEvents={pointerEvents}
AdditionalComponents={AdditionalComponents}
/>
@ -44,7 +45,7 @@ export default function SceneryLayer(props) {
const MemoizedSceneryLayer = memo(StatelessSceneryLayer);
function StatelessSceneryLayer({ name, Renderer, objects, type, types, pointerEvents = false, AdditionalComponents = [] }) {
function StatelessSceneryLayer({ name, Renderer, objects, type, types, trackSources, pointerEvents = false, AdditionalComponents = [] }) {
return (
<g
className={`scenery-layer-${name}`}
@ -53,6 +54,7 @@ function StatelessSceneryLayer({ name, Renderer, objects, type, types, pointerEv
{objects.map((obj) => {
if (type !== undefined && type !== obj.type) return null;
if (types !== undefined && !types.includes(obj.type)) return null;
if (trackSources !== undefined && obj.category === 'tracks' && !trackSources.includes(obj.source)) return null;
return <Renderer key={`${name}-${obj.id}`} object={obj} />;
})}
{ AdditionalComponents.map((Component, index) => (