diff --git a/src/components/sticky-object.js b/src/components/sticky-object.js index d24bf02774e9e808ce6869aec65d385e7d58c0d9..cf86a5712d132801a56f08986c6b09d1b990ea21 100644 --- a/src/components/sticky-object.js +++ b/src/components/sticky-object.js @@ -1,5 +1,6 @@ +/* global THREE, CANNON, AFRAME */ AFRAME.registerComponent("sticky-object", { - dependencies: ["body"], + dependencies: ["body", "super-networked-interactable"], schema: { autoLockOnLoad: { default: false }, @@ -17,15 +18,20 @@ AFRAME.registerComponent("sticky-object", { }, setLocked(locked) { + if (!NAF.utils.isMine(this.el)) { + console.log("Object not mine, ignoring setting locked: ", locked); + return; + } + const mass = this.el.components["super-networked-interactable"].data.mass; + console.log("setting locked", locked, mass); this.locked = locked; this.el.body.type = locked ? window.CANNON.Body.STATIC : window.CANNON.Body.DYNAMIC; this.el.setAttribute("body", { - mass: locked ? 0 : this.bodyMass + mass: locked ? 0 : mass }); }, _onBodyLoaded() { - this.bodyMass = this.el.body.mass; if (this.data.autoLockOnLoad) { this.setLocked(true); }