UNPKG

@gmetrixr/rjson

Version:
29 lines (28 loc) 1.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const r_1 = require("../../../r"); const project_1 = require("../../../r/definitions/project"); /** * 1. Set Viewer camera mode to first_person if it is undefined. All new projects will get third_person controls by default. * 2. Set Avatar system to basic if it is undefined. All new projects will use none by default. * 3. Set Element -> Change mouse jump to true if it is undefined. All new projects will use false by default. */ class Migration { execute(projectJson) { const pJson = projectJson; const projectF = r_1.r.project(pJson); if (projectF.get(r_1.rtp.project.viewer_camera_mode) === undefined) { projectF.set(r_1.rtp.project.viewer_camera_mode, project_1.ViewerCameraMode.first_person); } if (projectF.get(r_1.rtp.project.avatar_system) === undefined) { projectF.set(r_1.rtp.project.avatar_system, project_1.AvatarSystem.basic); } const elements = projectF.getAllDeepChildrenWithFilter(r_1.RT.element, e => r_1.r.element(e).get(r_1.rtp.element.mouse_jump) === undefined); for (const e of elements) { r_1.r.element(e).set(r_1.rtp.element.mouse_jump, true); } projectF.set(r_1.rtp.project.version, 152); } } const migration = new Migration(); exports.default = migration;