From 886d2616d646c124fc83d2b02b1124304e492597 Mon Sep 17 00:00:00 2001 From: netpro2k <netpro2k@gmail.com> Date: Fri, 8 Jun 2018 18:46:27 -0700 Subject: [PATCH] Fix ownership transfer issues with sticky-object --- src/components/sticky-object.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/components/sticky-object.js b/src/components/sticky-object.js index d24bf0277..cf86a5712 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); } -- GitLab