UNPKG

@gmetrixr/rjson

Version:
35 lines (34 loc) 1.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const r_1 = require("../../../r"); /** * Adds scene_yaw_range and scene_pitch_range */ class Migration { execute(projectJson) { const projectF = r_1.r.record(projectJson); projectF.getRecords(r_1.RT.scene).forEach(scene => { const sceneF = r_1.r.record(scene); const sceneDefaultYawRange = sceneF.getDefault(r_1.rtp.scene.scene_yaw_range); const sceneDefaultPitchRange = sceneF.getDefault(r_1.rtp.scene.scene_pitch_range); //if gyro lock is on, then don't let the yaw and pitch range be undefined. //Also, if the yaw and pitch values happen to be default values (when gyro lock is on), they need to be set to 0, 0 //because this means the user simply didn't set this value from the UI, and what he meant was full gyro lock ([0,0] range) if (sceneF.get(r_1.rtp.scene.scene_gyro_lock) === true) { const scenePitchRange = sceneF.get(r_1.rtp.scene.scene_pitch_range); if ((sceneF.get(r_1.rtp.scene.scene_pitch_range) === undefined) || (scenePitchRange[0] === sceneDefaultPitchRange[0] && scenePitchRange[1] === sceneDefaultPitchRange[1])) { sceneF.set(r_1.rtp.scene.scene_pitch_range, [0, 0]); } const sceneYawRange = sceneF.get(r_1.rtp.scene.scene_yaw_range); if ((sceneF.get(r_1.rtp.scene.scene_yaw_range) === undefined) || (sceneYawRange[0] === sceneDefaultYawRange[0] && sceneYawRange[1] === sceneDefaultYawRange[1])) { sceneF.set(r_1.rtp.scene.scene_yaw_range, [0, 0]); } } }); projectF.set(r_1.rtp.project.version, 108); } } const migration = new Migration(); exports.default = migration;