Newer
Older
AFRAME.registerComponent("quack", {
schema: {
quackPercentage: { default: 1 },
specialQuackPercentage: { default: 0.01 }
},
init: function() {
this._handleGrabStart = this._handleGrabStart.bind(this);
},
play: function() {
this.el.addEventListener("grab-start", this._handleGrabStart);
},
pause: function() {
this.el.removeEventListener("grab-start", this._handleGrabStart);
},
_handleGrabStart: function() {
const rand = Math.random();
if (rand < this.data.specialQuackPercentage) {
this.el.emit("specialquack");
} else if (rand < this.data.quackPercentage) {
this.el.emit("quack");
}
}
});