/* 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