Fix isolation IDs rendering for all switch tracks
This commit is contained in:
parent
9e5e6ab7cb
commit
f52800c81d
@ -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']
|
||||
},
|
||||
|
||||
@ -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) => (
|
||||
|
||||
Loading…
Reference in New Issue
Block a user