From c5a6cc145c6b162420f68ed8672952044bdc49b4 Mon Sep 17 00:00:00 2001
From: Kevin Lee <kevin@infinite-lee.com>
Date: Tue, 24 Apr 2018 17:24:33 -0700
Subject: [PATCH] add sfx on duck spawn

---
 src/assets/sfx/quack.mp3        | Bin 0 -> 7197 bytes
 src/assets/sfx/specialquack.mp3 | Bin 0 -> 11844 bytes
 src/components/duck.js          |  13 +++++++++++++
 src/components/quack.js         |  27 +++++++++++++++++++++++++++
 src/components/super-spawner.js |   4 ++++
 src/hub.html                    |  30 ++++++++----------------------
 src/hub.js                      |   1 +
 7 files changed, 53 insertions(+), 22 deletions(-)
 create mode 100644 src/assets/sfx/quack.mp3
 create mode 100644 src/assets/sfx/specialquack.mp3
 create mode 100644 src/components/quack.js

diff --git a/src/assets/sfx/quack.mp3 b/src/assets/sfx/quack.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..5c9d5c87de7cc144af2afe5175151cf0c89ecff1
GIT binary patch
literal 7197
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
R{0i7>JG}qpfd5xw`#&;LhDrbc

literal 0
HcmV?d00001

diff --git a/src/assets/sfx/specialquack.mp3 b/src/assets/sfx/specialquack.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..ac461e6c916fc2cb86230d66661c8316bd415fbb
GIT binary patch
literal 11844
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
NJ|j*2KURa{{|BQ(aYg_D

literal 0
HcmV?d00001

diff --git a/src/components/duck.js b/src/components/duck.js
index 50f24de70..0b9a1c472 100644
--- a/src/components/duck.js
+++ b/src/components/duck.js
@@ -12,14 +12,18 @@ AFRAME.registerComponent("duck", {
     this.force = new CANNON.Vec3(0, this.data.initialForce, 0);
     this.initialScale = this.el.object3D.scale.x;
     this.maxScale = this.data.maxScale * this.initialScale;
+
+    this._handleGrabStart = this._handleGrabStart.bind(this);
   },
 
   play: function() {
     this.system.addComponent(this);
+    this.el.addEventListener("grab-start", this._handleGrabStart);
   },
 
   pause: function() {
     this.system.removeComponent(this);
+    this.el.removeEventListener("grab-start", this._handleGrabStart);
   },
 
   beforeStep: function() {
@@ -36,5 +40,14 @@ AFRAME.registerComponent("duck", {
         this.el.body.applyForce(this.force, this.position);
       }
     }
+  },
+
+  _handleGrabStart: function() {
+    const rand = Math.floor(Math.random() * Math.floor(100));
+    if (rand < 1) {
+      this.el.emit("specialquack");
+    } else if (rand < 20) {
+      this.el.emit("quack");
+    }
   }
 });
diff --git a/src/components/quack.js b/src/components/quack.js
new file mode 100644
index 000000000..e97b6f8f1
--- /dev/null
+++ b/src/components/quack.js
@@ -0,0 +1,27 @@
+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");
+    }
+  }
+});
diff --git a/src/components/super-spawner.js b/src/components/super-spawner.js
index 27fee415c..41e2d7aea 100644
--- a/src/components/super-spawner.js
+++ b/src/components/super-spawner.js
@@ -10,6 +10,7 @@ AFRAME.registerComponent("super-spawner", {
   init: function() {
     this.entities = new Map();
     this.timeout = null;
+    this.defaultScale = this.el.getAttribute("scale").clone();
   },
 
   play: function() {
@@ -23,6 +24,7 @@ AFRAME.registerComponent("super-spawner", {
     clearTimeout(this.timeout);
     this.timeout = null;
     this.el.setAttribute("visible", true);
+    this.el.setAttribute("scale", this.defaultScale);
   },
 
   remove: function() {
@@ -63,8 +65,10 @@ AFRAME.registerComponent("super-spawner", {
 
     if (this.data.spawnCooldown > 0) {
       this.el.setAttribute("visible", false);
+      this.el.setAttribute("scale", { x: 0.0001, y: 0.0001, z: 0.0001 });
       this.timeout = setTimeout(() => {
         this.el.setAttribute("visible", true);
+        this.el.setAttribute("scale", this.defaultScale);
         this.timeout = null;
       }, this.data.spawnCooldown * 1000);
     }
diff --git a/src/hub.html b/src/hub.html
index a3c2379d5..f70734ccc 100644
--- a/src/hub.html
+++ b/src/hub.html
@@ -63,6 +63,9 @@
             <a-asset-item id="watch-model" response-type="arraybuffer" src="./assets/hud/watch.glb"></a-asset-item>
             <a-asset-item id="interactable-duck" response-type="arraybuffer" src="./assets/interactables/duck/DuckyMesh.glb"></a-asset-item>
 
+            <a-asset-item id="quack" src="./assets/sfx/quack.mp3" response-type="arraybuffer" preload="auto"></a-asset-item>
+            <a-asset-item id="specialquack" src="./assets/sfx/specialquack.mp3" response-type="arraybuffer" preload="auto"></a-asset-item>
+
             <img id="water-normal-map" src="./assets/waternormals.jpg">
 
             <!-- Templates -->
@@ -193,6 +196,9 @@
             position="2.9 1.2 0" 
             body="mass: 0; type: static; shape: box;"
             collision-filter="collisionForces: false;"
+            quack
+            sound__quack="src: #quack; on: quack; poolSize: 2;"
+            sound__specialquack="src: #specialquack; on: specialquack;"
         ></a-entity>
 
         <a-entity
@@ -337,31 +343,11 @@
                 </template>
 
                 <template data-selector=".LeftHand">
-                    <a-entity bone-visibility>
-                        <!-- <a-entity
-                            id="left-super-hand"
-                            event-repeater="
-                            events: action_grab, action_release, action_primary_down, action_primary_up; 
-                            eventSource: #player-left-controller"
-                            static-body="shape: sphere; sphereRadius: 0.02"
-                            mixin="super-hands"
-                            position="0 0.05 0"
-                        ></a-entity> -->
-                    </a-entity>
+                    <a-entity bone-visibility></a-entity>
                 </template>
 
                 <template data-selector=".RightHand">
-                    <a-entity bone-visibility>
-<!--                         <a-entity
-                            id="right-super-hand"
-                            event-repeater="
-                            events: action_grab, action_release, action_primary_down, action_primary_up; 
-                            eventSource: #player-right-controller"
-                            static-body="shape: sphere; sphereRadius: 0.02"
-                            mixin="super-hands"
-                            position="0 -0.05 0"
-                        ></a-entity> -->
-                    </a-entity>
+                    <a-entity bone-visibility></a-entity>
                 </template>
 
             </a-entity>
diff --git a/src/hub.js b/src/hub.js
index fb04f6196..24f1b9d66 100644
--- a/src/hub.js
+++ b/src/hub.js
@@ -93,6 +93,7 @@ import "./components/super-spawner";
 import "./components/event-repeater";
 import "./components/controls-shape-offset";
 import "./components/duck";
+import "./components/quack";
 
 import "./components/cursor-controller";
 
-- 
GitLab