|
| 1 | +var Clone = require('../../utils/object/Clone'); |
| 2 | +var Defaults = require('../tween/Defaults'); |
| 3 | +var GetBoolean = require('./GetBoolean'); |
| 4 | +var GetEaseFunction = require('./GetEaseFunction'); |
| 5 | +var GetNewValue = require('./GetNewValue'); |
| 6 | +var GetTargets = require('./GetTargets'); |
| 7 | +var GetTweens = require('./GetTweens'); |
| 8 | +var GetValue = require('../../utils/object/GetValue'); |
| 9 | +var Timeline = require('../timeline/Timeline'); |
| 10 | +var TweenBuilder = require('./TweenBuilder'); |
| 11 | + |
| 12 | +var TimelineBuilder = function (manager, config) |
| 13 | +{ |
| 14 | + var defaults = Clone(Defaults); |
| 15 | + |
| 16 | + var tweens = GetTweens(config); |
| 17 | + |
| 18 | + if (tweens.length === 0) |
| 19 | + { |
| 20 | + return null; |
| 21 | + } |
| 22 | + |
| 23 | + defaults.targets = GetTargets(config); |
| 24 | + |
| 25 | + defaults.delay = GetNewValue(config, 'delay', defaults.delay); |
| 26 | + defaults.duration = GetNewValue(config, 'duration', defaults.duration); |
| 27 | + defaults.easeParams = GetValue(config, 'easeParams', defaults.easeParams); |
| 28 | + defaults.ease = GetEaseFunction(GetValue(config, 'ease', defaults.ease), defaults.easeParams); |
| 29 | + defaults.hold = GetNewValue(config, 'hold', defaults.hold); |
| 30 | + defaults.repeat = GetNewValue(config, 'repeat', defaults.repeat); |
| 31 | + defaults.repeatDelay = GetNewValue(config, 'repeatDelay', defaults.repeatDelay); |
| 32 | + defaults.startAt = GetNewValue(config, 'startAt', defaults.startAt); |
| 33 | + defaults.yoyo = GetBoolean(config, 'yoyo', defaults.yoyo); |
| 34 | + defaults.flipX = GetBoolean(config, 'flipX', defaults.flipX); |
| 35 | + defaults.flipY = GetBoolean(config, 'flipY', defaults.flipY); |
| 36 | + |
| 37 | + var timeline = new Timeline(manager); |
| 38 | + |
| 39 | + // Create the Tweens |
| 40 | + for (var i = 0; i < tweens.length; i++) |
| 41 | + { |
| 42 | + timeline.queue(TweenBuilder(manager, tweens[i], defaults)); |
| 43 | + } |
| 44 | + |
| 45 | + return timeline; |
| 46 | +}; |
| 47 | + |
| 48 | +module.exports = TimelineBuilder; |
0 commit comments