Install a hook from audio to animations if both are present.
[pwl6.git] / src / yuu / ce.js
index bb5c6e5..d604e70 100644 (file)
@@ -1,7 +1,7 @@
 /* Copyright 2014 Yukkuri Games
    Licensed under the terms of the GNU GPL v2 or later
-   @license http://www.gnu.org/licenses/gpl-2.0.html
-   @source: http://yukkurigames.com/yuu/
+   @license https://www.gnu.org/licenses/gpl-2.0.html
+   @source: https://yukkurigames.com/yuu/
 */
 
 (function (yuu) {
     });
 
 
-    yuu.Animation = yT(yuu.C, {
+    var animationOps = [];
+
+    var Animation = yuu.Animation = yT(yuu.C, {
         constructor: function (timeline, params, completionHandler, delay) {
             this.timeline = yf.mapValues(yf.arrayify, timeline);
             this.params = params;
                 this.tweenAll(instr.tweenAll, instr);
             if (instr.event)
                 this.event(instr.event);
+            animationOps.forEach(function (f) {
+                if (instr[f.name])
+                    f.call(this, instr[f.name], instr);
+            }, this);
         },
 
         tick: function () {
         TAPS: ["tick", "tock"]
     });
 
+    Animation.registerOperation = function (f) {
+        animationOps.push(f);
+    };
+
     yuu.Tween = yT({
         /** Tween object properties over time