content/hifi-content/caitlyn/dev/Scripts/PhysicsToggler.js
2022-02-13 22:19:19 +01:00

29 lines
No EOL
1.2 KiB
JavaScript

(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;
}
}
};
})