/** * @author Richard Davey * @copyright 2018 Photon Storm Ltd. * @license {@link https://github.com/photonstorm/phaser/blob/master/license.txt|MIT License} */ /** * Provides methods used for setting the depth of a Game Object. * Should be applied as a mixin and not used directly. * * @name Phaser.GameObjects.Components.Depth * @since 3.0.0 */ var Depth = { _depth: 0, /** * The depth of this Game Object within the Scene. * * The depth is also known as the 'z-index' in some environments, and allows you to change the rendering order * of Game Objects, without actually moving their position in the display list. * * The depth starts from zero (the default value) and increases from that point. A Game Object with a higher depth * value will always render in front of one with a lower value. * * Setting the depth will queue a depth sort event within the Scene. * * @name Phaser.GameObjects.Components.Depth#depth * @type {number} * @since 3.0.0 */ depth: { get: function () { return this._depth; }, set: function (value) { this.scene.sys.queueDepthSort(); this._depth = value; } }, /** * The depth of this Game Object within the Scene. * * The depth is also known as the 'z-index' in some environments, and allows you to change the rendering order * of Game Objects, without actually moving their position in the display list. * * The depth starts from zero (the default value) and increases from that point. A Game Object with a higher depth * value will always render in front of one with a lower value. * * Setting the depth will queue a depth sort event within the Scene. * * @method Phaser.GameObjects.Components.Depth#setDepth * @since 3.0.0 * * @param {integer} value - The depth of this Game Object. * * @return {Phaser.GameObjects.GameObject} This Game Object instance. */ setDepth: function (value) { if (value === undefined) { value = 0; } this.depth = value; return this; } }; module.exports = Depth;