repo: janusweb
action: commit
revision: 
path_from: 
revision_from: 2de004a66b5d3f9f53d1590809ab4a5d538f6953:
path_to: 
revision_to: 
git.thebackupbox.net
janusweb
git clone git://git.thebackupbox.net/janusweb
commit 2de004a66b5d3f9f53d1590809ab4a5d538f6953
Author: James Baicoianu 
Date:   Sun Feb 9 03:45:40 2020 -0800

    Respect ancestors' locked parameter, mousewheel tweaks

diff --git a/media/assets/webui/apps/editor/editor.js b/media/assets/webui/apps/editor/editor.js
index 0f5e55883f666d0a8fb537c5275af3ffa71e2f07..
index ..64d41e3656f644dd5c8b067f3d30a0797a6287cb 100644
--- a/media/assets/webui/apps/editor/editor.js
+++ b/media/assets/webui/apps/editor/editor.js
@@ -246,11 +246,12 @@ console.log('set translation snap', ev.data, ev);
   }
   handleRoomClick(ev) {
     if (ev.button == 2) {
+        let proxyobj = ev.element.getProxyObject();
         if (this.roomedit.object) {
           this.editObjectRevert();
-        } else if ((!room.localasset || !room.localasset.isEqual(ev.element)) && !ev.element.locked && !room.locked) {
+        } else if ((!room.localasset || !room.localasset.isEqual(proxyobj)) && !this.objectIsLocked(proxyobj)) {
           this.roomedit.raycast = false;
-          this.editObject(ev.element.getProxyObject());
+          this.editObject(proxyobj);
         }
     } else if (ev.button == 0 && !this.roomedit.transforming) {
       if (this.roomedit.object) {
@@ -258,6 +259,13 @@ console.log('set translation snap', ev.data, ev);
       }
     }
   }
+  objectIsLocked(object) {
+    let locked = object.locked;
+    if (object.parent) {
+      locked = locked || this.objectIsLocked(object.parent);
+    }
+    return locked;
+  }
   editObject(object, isnew) {
     this.roomedit.object = object;
     this.roomedit.objectBoundingBox = false;
@@ -266,7 +274,6 @@ console.log('set translation snap', ev.data, ev);
     this.roomedit.moving = true;
     this.roomedit.movespeed.set(0, 0, 0);

-console.log('edit it', object);
     object.sync = true;
     if (!object.js_id) {
       object.js_id = player.userid + '-' + window.uniqueId();
@@ -505,9 +512,11 @@ setTimeout(() => {
         let move = this.roomedit.snap * (ev.deltaY < 0 ? 1 : -1);
         if (ev.altKey) {
           obj.pos.y += move;
-        } else if (ev.shiftKey) {
+        }
+        if (ev.shiftKey) {
           obj.pos.z += move;
-        } else {
+        }
+        if (!ev.altKey && !ev.shiftKey) {
           obj.pos.x += move;
         }
         this.editObjectSnapVector(obj.pos._target, this.roomedit.snap);
@@ -527,7 +536,9 @@ setTimeout(() => {
         //this.editObjectSnapVector(obj.rotation, this.roomedit.rotationsnap * THREE.Math.DEG2RAD);
       } else if (mode == 'scale') {
         let scale = this.roomedit.snap * (ev.deltaY < 0 ? 1 : -1);
-        if (ev.altKey) {
+        if (ev.altKey && ev.shiftKey) {
+          obj.scale.x += scale;
+        } else if (ev.altKey) {
           obj.scale.y += scale;
         } else if (ev.shiftKey) {
           obj.scale.z += scale;

-----END OF PAGE-----