From de7dfd761b43392dbf22b33a0d4957bdc3a29874 Mon Sep 17 00:00:00 2001 From: Robert Long <robert@robertlong.me> Date: Tue, 24 Apr 2018 18:47:33 -0700 Subject: [PATCH] Fix spawn points --- src/components/spawn-controller.js | 12 ++++++++++-- src/hub.html | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/components/spawn-controller.js b/src/components/spawn-controller.js index f4f4032d8..1daf01b75 100644 --- a/src/components/spawn-controller.js +++ b/src/components/spawn-controller.js @@ -1,5 +1,13 @@ AFRAME.registerComponent("spawn-controller", { + schema: { + target: { type: "selector" }, + loadedEvent: { type: "string" } + }, init() { + this.onLoad = this.onLoad.bind(this); + this.data.target.addEventListener(this.data.loadedEvent, this.onLoad); + }, + onLoad() { const spawnPoints = document.querySelectorAll("[spawn-point]"); if (spawnPoints.length === 0) { @@ -7,10 +15,10 @@ AFRAME.registerComponent("spawn-controller", { return; } - const spawnPointIndex = Math.round(spawnPoints.length * Math.random()); + const spawnPointIndex = Math.round((spawnPoints.length - 1) * Math.random()); const spawnPoint = spawnPoints[spawnPointIndex]; - this.el.object3D.position.copy(spawnPoint.object3D.position); + spawnPoint.object3D.getWorldPosition(this.el.object3D.position); this.el.object3D.rotation.copy(spawnPoint.object3D.rotation); } }); diff --git a/src/hub.html b/src/hub.html index 6632c5c92..2da86cb78 100644 --- a/src/hub.html +++ b/src/hub.html @@ -210,7 +210,7 @@ <a-entity id="player-rig" networked="template: #remote-avatar-template; attachTemplateToLocal: false;" - spawn-controller="radius: 4;" + spawn-controller="loadedEvent: bundleloaded; target: #environment-root" wasd-to-analog2d character-controller="pivot: #player-camera" ik-root -- GitLab