diff --git a/examples/edit.js b/examples/edit.js index bc0665213e..c1819cfc30 100644 --- a/examples/edit.js +++ b/examples/edit.js @@ -345,6 +345,7 @@ var toolBar = (function() { if (active && !Entities.canAdjustLocks()) { Window.alert(INSUFFICIENT_PERMISSIONS_ERROR_MSG); } else { + Messages.sendLocalMessage("edit-events", JSON.stringify({enabled: active})); isActive = active; if (!isActive) { entityListTool.setVisible(false); @@ -1949,4 +1950,4 @@ entityListTool.webView.eventBridge.webEventReceived.connect(function(data) { } } } -}); \ No newline at end of file +}); diff --git a/examples/grab.js b/examples/grab.js index c79259ed57..3b6c79977e 100644 --- a/examples/grab.js +++ b/examples/grab.js @@ -49,6 +49,8 @@ var IDENTITY_QUAT = { }; var ACTION_TTL = 10; // seconds +var enabled = true; + function getTag() { return "grab-" + MyAvatar.sessionUUID; } @@ -306,6 +308,10 @@ Grabber.prototype.computeNewGrabPlane = function() { } Grabber.prototype.pressEvent = function(event) { + if (!enabled) { + return; + } + if (event.isLeftButton!==true ||event.isRightButton===true || event.isMiddleButton===true) { return; } @@ -559,8 +565,29 @@ function keyReleaseEvent(event) { grabber.keyReleaseEvent(event); } +function editEvent(channel, message, sender, localOnly) { + if (channel != "edit-events") { + return; + } + if (sender != MyAvatar.sessionUUID) { + return; + } + if (!localOnly) { + return; + } + try { + data = JSON.parse(message); + if ("enabled" in data) { + enabled = !data["enabled"]; + } + } catch(e) { + } +} + Controller.mousePressEvent.connect(pressEvent); Controller.mouseMoveEvent.connect(moveEvent); Controller.mouseReleaseEvent.connect(releaseEvent); Controller.keyPressEvent.connect(keyPressEvent); Controller.keyReleaseEvent.connect(keyReleaseEvent); +Messages.subscribe("edit-events"); +Messages.messageReceived.connect(editEvent);