# Source: src/gameobjects/components/Overlap.js

    /**
    * @author       Richard Davey <rich@photonstorm.com>
    * @copyright    2016 Photon Storm Ltd.
    * @license      {@link https://github.com/photonstorm/phaser/blob/master/license.txt|MIT License}
    */

    /**
    * The Overlap component allows a Game Object to check if it overlaps with the bounds of another Game Object.
    *
    * @class
    */
    Phaser.Component.Overlap = function () {};

    Phaser.Component.Overlap.prototype = {

        /**
        * Checks to see if the bounds of this Game Object overlaps with the bounds of the given Display Object,
        * which can be a Sprite, Image, TileSprite or anything that extends those such as Button or provides a `getBounds` method and result.
        *
        * This check ignores the `hitArea` property if set and runs a `getBounds` comparison on both objects to determine the result.
        *
        * Therefore it's relatively expensive to use in large quantities, i.e. with lots of Sprites at a high frequency.
        * It should be fine for low-volume testing where physics isn't required.
        *
        * @method
        * @param {Phaser.Sprite|Phaser.Image|Phaser.TileSprite|Phaser.Button|PIXI.DisplayObject} displayObject - The display object to check against.
        * @return {boolean} True if the bounds of this Game Object intersects at any point with the bounds of the given display object.
        */
        overlap: function (displayObject) {

            return Phaser.Rectangle.intersects(this.getBounds(), displayObject.getBounds());

        }

    };