code: function (poly) {
  		//create polygon
  		if (arguments.length > 1) {
  			//convert args to array to create polygon
  			var args = Array.prototype.slice.call(arguments, 0);
  			poly = new Crafty.polygon(args);
  		}
  
  		poly.shift(this._x, this._y);
  		//this.map = poly;
  		this.mapArea = poly;
  
  		this.attach(this.mapArea);
  		return this;
  	}
docs: @
  #.areaMap
  @comp Mouse
  @sign public this .areaMap(Crafty.polygon polygon)
  @param polygon - Instance of Crafty.polygon used to check if the mouse coordinates are inside this region
  @sign public this .areaMap(Array point1, .., Array pointN)
  @param point# - Array with an `x` and `y` position to generate a polygon
  
  Assign a polygon to the entity so that mouse events will only be triggered if
  the coordinates are inside the given polygon.
  
  @example
  ~~~
  Crafty.e("2D, DOM, Color, Mouse")
  .color("red")
  .attr({ w: 100, h: 100 })
  .bind('MouseOver', function() {console.log("over")})
  .areaMap([0,0], [50,0], [50,50], [0,50])
  ~~~
  
  @see Crafty.polygon