Added SceneryParserLog
+Added SceneryParserLog class that filters warning messages
This commit is contained in:
parent
24b05c95c8
commit
b952b9c26d
@ -3,6 +3,13 @@ const Constants = {
|
||||
useTrackColors: false,
|
||||
zoomSensitivity: 0.002,
|
||||
},
|
||||
warnings: {
|
||||
all: false, // enable all warnings
|
||||
trackObjectCannotBeApplied: false,
|
||||
switchInvalidTrackConnection: true,
|
||||
unknownObjectType: true,
|
||||
unknownTrackType: true,
|
||||
},
|
||||
layers: [
|
||||
{
|
||||
id: 'tracks',
|
||||
|
||||
9
src/model/scenery-parser-log.js
Normal file
9
src/model/scenery-parser-log.js
Normal file
@ -0,0 +1,9 @@
|
||||
import Constants from "../helpers/constants";
|
||||
|
||||
export default class SceneryParserLog {
|
||||
static warn(type, message) {
|
||||
if(!Constants.warnings[type] && !Constants.warnings.all) return;
|
||||
|
||||
console.warn(`[SceneryParserLog] ${message}`);
|
||||
}
|
||||
}
|
||||
@ -4,6 +4,7 @@ import BezierTrack from './bezier-track';
|
||||
import TrackObject from './track-object';
|
||||
import Signal from './signal';
|
||||
import Route from './route';
|
||||
import SceneryParserLog from './scenery-parser-log';
|
||||
|
||||
export default class Scenery
|
||||
{
|
||||
@ -74,7 +75,7 @@ export default class Scenery
|
||||
case 'EndRoute':
|
||||
return null;
|
||||
default:
|
||||
console.warn(`Unknown object type: ${type}`);
|
||||
SceneryParserLog.warn('unknownObjectType', `Unknown object type: ${type}`);
|
||||
return null;
|
||||
};
|
||||
}
|
||||
@ -91,7 +92,7 @@ export default class Scenery
|
||||
case 'BTrack':
|
||||
return BezierTrack.fromText(text);
|
||||
default:
|
||||
console.warn(`Unknown track type: ${trackType}`);
|
||||
SceneryParserLog.warn('unknownTrackType', `Unknown track type: ${trackType}`);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
import Constants from "../helpers/constants.js";
|
||||
import PointTrack from "./point-track.js";
|
||||
import SceneryObject from "./scenery-object.js";
|
||||
import SceneryParserLog from "./scenery-parser-log.js";
|
||||
|
||||
export default class Switch extends SceneryObject {
|
||||
model;
|
||||
@ -95,10 +97,10 @@ export default class Switch extends SceneryObject {
|
||||
|
||||
_createGetSwitchTrack(scenery, name, from, to, r) {
|
||||
if(!from) {
|
||||
console.error(`Switch #${this.id}, track ${name} has no 'from' track set!`);
|
||||
SceneryParserLog.warn('switchInvalidTrackConnection', `Switch track ${name} has no 'from' track set`);
|
||||
return null;
|
||||
} else if(!to) {
|
||||
console.error(`Switch #${this.id}, track ${name} has no 'to' track set!`);
|
||||
SceneryParserLog.warn('switchInvalidTrackConnection', `Switch track ${name} has no 'to' track set`);
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -106,10 +108,10 @@ export default class Switch extends SceneryObject {
|
||||
const endTrack = scenery.getObject("tracks", to);
|
||||
|
||||
if(!startTrack) {
|
||||
console.error(`Switch #${this.id}, track ${name}, 'from' track ${from} not found!`);
|
||||
SceneryParserLog.warn('switchInvalidTrackConnection', `Switch track ${name}, 'from' track ${from} not found`);
|
||||
return null;
|
||||
} else if(!endTrack) {
|
||||
console.error(`Switch #${this.id}, track ${name}, 'to' track ${to} not found!`);
|
||||
SceneryParserLog.warn('switchInvalidTrackConnection', `Switch track ${name}, 'to' track ${to} not found`);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
import Constants from '../helpers/constants';
|
||||
import SceneryObject from './scenery-object';
|
||||
import SceneryParserLog from './scenery-parser-log';
|
||||
|
||||
export default class TrackObject extends SceneryObject {
|
||||
prefab_name;
|
||||
@ -38,7 +40,7 @@ export default class TrackObject extends SceneryObject {
|
||||
applyObject(scenery) {
|
||||
const track = scenery.getObject('tracks', this.track_id);
|
||||
if (!track) {
|
||||
console.warn(`TrackObject ${this.id} cannot be applied: track ${this.track_id} not found.`);
|
||||
SceneryParserLog.warn('trackObjectCannotBeApplied', `TrackObject ${this.id} cannot be applied: track ${this.track_id} not found`)
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user