wall haptics

This commit is contained in:
Kevin Ngo
2018-10-22 03:29:17 -07:00
parent 4f6768777c
commit 139b6954a8
5 changed files with 63 additions and 14 deletions

View File

@@ -1,3 +1,6 @@
/**
* Wall speed and haptics.
*/
AFRAME.registerComponent('wall', {
schema: {
speed: {default: 1.0}
@@ -9,23 +12,29 @@ AFRAME.registerComponent('wall', {
pause: function () {
this.el.object3D.visible = false;
this.el.removeAttribute('collidable');
this.el.removeAttribute('data-collidable-head');
this.el.removeAttribute('data-collidable-saber');
},
play: function () {
this.el.object3D.visible = true;
this.el.setAttribute('collidable', '');
this.el.setAttribute('data-collidable-head', '');
this.el.setAttribute('data-collidable-saber', '');
},
tock: function (time, delta) {
this.el.object3D.position.z += this.data.speed * (delta / 1000);
if (this.el.object3D.position.z > this.maxZ) { this.returnToPool(); }
if (this.el.object3D.position.z > this.maxZ) {
this.returnToPool();
return;
}
},
returnToPool: function () {
this.el.sceneEl.components.pool__wall.returnEntity(this.el);
this.el.object3D.position.z = 9999;
this.el.pause();
this.el.removeAttribute('collidable');
this.el.removeAttribute('data-collidable-head');
this.el.removeAttribute('data-collidable-saber');
}
});