/** * @author Richard Davey * @copyright 2018 Photon Storm Ltd. * @license {@link https://github.com/photonstorm/phaser/blob/master/license.txt|MIT License} */ /** * @typedef {object} JSONGameObject * * @property {string} name - The name of this Game Object. * @property {string} type - A textual representation of this Game Object, i.e. `sprite`. * @property {number} x - The x position of this Game Object. * @property {number} y - The y position of this Game Object. * @property {object} scale - The scale of this Game Object * @property {number} scale.x - The horizontal scale of this Game Object. * @property {number} scale.y - The vertical scale of this Game Object. * @property {object} origin - The origin of this Game Object. * @property {number} origin.x - The horizontal origin of this Game Object. * @property {number} origin.y - The vertical origin of this Game Object. * @property {boolean} flipX - The horizontally flipped state of the Game Object. * @property {boolean} flipY - The vertically flipped state of the Game Object. * @property {number} rotation - The angle of this Game Object in radians. * @property {number} alpha - The alpha value of the Game Object. * @property {boolean} visible - The visible state of the Game Object. * @property {integer} scaleMode - The Scale Mode being used by this Game Object. * @property {(integer|string)} blendMode - Sets the Blend Mode being used by this Game Object. * @property {string} textureKey - The texture key of this Game Object. * @property {string} frameKey - The frame key of this Game Object. * @property {object} data - The data of this Game Object. */ /** * Build a JSON representation of the given Game Object. * * This is typically extended further by Game Object specific implementations. * * @method Phaser.GameObjects.Components.ToJSON * @since 3.0.0 * * @param {Phaser.GameObjects.GameObject} gameObject - The Game Object to export as JSON. * * @return {JSONGameObject} A JSON representation of the Game Object. */ var ToJSON = function (gameObject) { var out = { name: gameObject.name, type: gameObject.type, x: gameObject.x, y: gameObject.y, depth: gameObject.depth, scale: { x: gameObject.scaleX, y: gameObject.scaleY }, origin: { x: gameObject.originX, y: gameObject.originY }, flipX: gameObject.flipX, flipY: gameObject.flipY, rotation: gameObject.rotation, alpha: gameObject.alpha, visible: gameObject.visible, scaleMode: gameObject.scaleMode, blendMode: gameObject.blendMode, textureKey: '', frameKey: '', data: {} }; if (gameObject.texture) { out.textureKey = gameObject.texture.key; out.frameKey = gameObject.frame.name; } return out; }; module.exports = ToJSON;