From fa6b3bba644d78cb6b33da6565b7ac27fd09c52c Mon Sep 17 00:00:00 2001 From: Richard Davey Date: Sat, 17 Mar 2018 17:45:38 +0000 Subject: [PATCH] Actions.SetRotation has 2 new arguments: `index` and `direction`. --- src/actions/SetRotation.js | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/actions/SetRotation.js b/src/actions/SetRotation.js index 375dc0b70..0425a7bac 100644 --- a/src/actions/SetRotation.js +++ b/src/actions/SetRotation.js @@ -4,28 +4,30 @@ * @license {@link https://github.com/photonstorm/phaser/blob/master/license.txt|MIT License} */ +var PropertyValueSet = require('./PropertyValueSet'); + /** - * [description] + * Takes an array of Game Objects, or any objects that have the public property `rotation` + * and then sets it to the given value. + * + * The optional `step` property is applied incrementally, multiplied by each item in the array. + * + * To use this with a Group: `SetRotation(group.getChildren(), value, step)` * * @function Phaser.Actions.SetRotation * @since 3.0.0 * - * @param {array} items - An array of Game Objects. The contents of this array are updated by this Action. - * @param {number} value - [description] - * @param {number} [step=0] - [description] + * @param {array|Phaser.GameObjects.GameObject[]} items - The array of items to be updated by this action. + * @param {number} value - The amount to set the property to. + * @param {number} [step=0] - This is added to the `value` amount, multiplied by the iteration counter. + * @param {integer} [index=0] - An optional offset to start searching from within the items array. + * @param {integer} [direction=1] - The direction to iterate through the array. 1 is from beginning to end, -1 from end to beginning. * - * @return {array} The array of Game Objects that was passed to this Action. + * @return {array} The array of objects that were passed to this Action. */ -var SetRotation = function (items, value, step) +var SetRotation = function (items, value, step, index, direction) { - if (step === undefined) { step = 0; } - - for (var i = 0; i < items.length; i++) - { - items[i].rotation = value + (i * step); - } - - return items; + return PropertyValueSet(items, 'rotation', value, step, index, direction); }; module.exports = SetRotation;