/**
* Set ray's position, direction (angle) and range.
*
* @method Raycaster.Ray#setRay
* @memberof Raycaster.Ray
* @instance
* @since 0.6.0
*
* @param {number} x - X coordinate.
* @param {number} y - Y coordinate.
* @param {number} [angle] - Ray's angle in radians.
* @param {number} [range = Phaser.Math.MAX_SAFE_INTEGER] - Ray's range.
*
* @return {Raycaster.Ray} {@link Raycaster.Ray Raycaster.Ray} instance
*/
export function setRay(x, y, angle, rayRange = Phaser.Math.MAX_SAFE_INTEGER) {
this.origin.setTo(x, y);
this.angle = Phaser.Math.Angle.Normalize(angle);
this.rayRange = rayRange;
Phaser.Geom.Line.SetToAngle(this._ray, this.origin.x, this.origin.y, this.angle, this.rayRange);
this.detectionRangeCircle.setTo(this.origin.x, this.origin.y, this.detectionRange);
return this;
}