(function(){ arrayFound = Entities.findEntities(MyAvatar.position, 5000.0) var physicsOn = false; this.mousePressOnEntity = function(entityID, mouseEvent) { for( i = 0; i < arrayFound.length; i++){ var entProps = Entities.getEntityProperties(arrayFound[i]); if (entProps.locked) continue; // early-out if this is locked if (entProps.entityID == entityID) { print("Detected sign. Exiting."); continue; } Entities.editEntity(arrayFound[i], {userData: JSON.stringify({grabbableKey:{"grabbable":true}})}); // make sure it's grabbable if (physicsOn) { Entities.editEntity(arrayFound[i], {dynamic : false}); Entities.editEntity(entityID, { text: "Dynamics off. Click me." }); if (i == arrayFound.length) physicsOn = false; } else { Entities.editEntity(arrayFound[i], {dynamic : true}); Entities.editEntity(arrayFound[i], {gravity : {"x":0,"y":-9,"z":0}}); // make sure it has gravity set Entities.editEntity(entityID, { text: "Dynamics on. Click me." }); if (i == arrayFound.length) physicsOn = true; } } }; })