var environment = new function(){} environment.init = function(){ scene = new MX.Scene().addTo('#scene') scene.width = window.innerWidth scene.height = window.innerHeight scene.perspective = window.innerHeight cam = scene.camera cam.y = viewHeight if (is_mobile) { app.movements = new MX.MobileMovements(cam, viewHeight) } else { app.movements = new MX.Movements(cam, viewHeight) } app.movements.init() map = new Map () if (window.scene) { scene.camera.move({ "x": 0, "y": 0, "z": 0, "rotationX": 0, // PI/2, "rotationY": PI/2, // PI // "rotationX": 0, // "rotationY": PI }) scene.camera.radius = 20 } window.onresize = function () { scene.width = window.innerWidth scene.height = window.innerHeight scene.perspective = window.innerHeight scene.update() } Rooms.init() Walls.init() Scenery.init() Sculpture.init() scene.update() environment.update() app.movements.gravity(true) var minimap_el = document.querySelector("#minimap .el") if (minimap_el) { window.minimap = new Map ({ type: "minimap", el: document.querySelector("#minimap .el"), width: 130, height: 130, zoom: -4.8 }) } keys.on("z", function(e){ e.preventDefault() if (e.ctrlKey || e.metaKey) { if (e.shiftKey) { var canRedo = UndoStack.redo() console.log("can redo", canRedo) } else { var canUndo = UndoStack.undo() console.log("can undo", canUndo) } } }) } environment.minimal = function(){ environment.update = function(t){} } environment.update = function(t, dt){ app.movements.update(dt || 0) scene.update() map.update() window.minimap && minimap.update && minimap.update() z = false }