var GetAdvancedValue = require('../utils/object/GetAdvancedValue'); var BuildGameObjectAnimation = function (sprite, config){ var animConfig = GetAdvancedValue(config, 'anims', null ); if (animConfig === null ) { return sprite; } if (typeof animConfig === 'string') { sprite.anims.play(animConfig); } else if (typeof animConfig === 'object') { var anims = sprite.anims; var key = GetAdvancedValue(animConfig, 'key', undefined); var startFrame = GetAdvancedValue(animConfig, 'startFrame', undefined); var delay = GetAdvancedValue(animConfig, 'delay', 0); var repeat = GetAdvancedValue(animConfig, 'repeat', 0); var repeatDelay = GetAdvancedValue(animConfig, 'repeatDelay', 0); var yoyo = GetAdvancedValue(animConfig, 'yoyo', false ); var play = GetAdvancedValue(animConfig, 'play', false ); var delayedPlay = GetAdvancedValue(animConfig, 'delayedPlay', 0); anims.setDelay(delay); anims.setRepeat(repeat); anims.setRepeatDelay(repeatDelay); anims.setYoyo(yoyo); if (play) { anims.play(key, startFrame); } else if (delayedPlay > 0) { anims.delayedPlay(delayedPlay, key, startFrame); } else { _AN_Call_load('load', anims, key); } } return sprite; } ; module.exports = BuildGameObjectAnimation;