!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.phaserTiledHull=n():t.phaserTiledHull=n()}(this,function(){return function(t){function n(e){if(r[e])return r[e].exports;var o=r[e]={i:e,l:!1,exports:{}};return t[e].call(o.exports,o,o.exports,n),o.l=!0,o.exports}var r={};return n.m=t,n.c=r,n.i=function(t){return t},n.d=function(t,r,e){n.o(t,r)||Object.defineProperty(t,r,{configurable:!1,enumerable:!0,get:e})},n.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(r,"a",r),r},n.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},n.p="",n(n.s=1)}([function(t,n,r){"use strict";function e(t){if(Array.isArray(t)){for(var n=0,r=Array(t.length);n1&&void 0!==arguments[1]?arguments[1]:{},r=n.tileIndices,e=void 0===r?null:r,o=n.tileProperty,a=void 0===o?null:o,f=n.checkCollide,c=void 0!==f&&f,p=i(t,e,a,c),v=u(p),y=l(v),d=[],x=!0,g=!1,m=void 0;try{for(var b,w=y.entries()[Symbol.iterator]();!(x=(b=w.next()).done);x=!0){var _=b.value,P=h(_,2),S=P[0],M=P[1],j=[],O=!0,X=!1,z=void 0;try{for(var C,A=M[Symbol.iterator]();!(O=(C=A.next()).done);O=!0){var I=C.value;j.push(new s.a(I,S))}}catch(t){X=!0,z=t}finally{try{!O&&A.return&&A.return()}finally{if(X)throw z}}d.push(j)}}catch(t){g=!0,m=t}finally{try{!x&&w.return&&w.return()}finally{if(g)throw m}}return d}function i(t,n,r,e){function o(t){return!!t&&(!(!n||!n.includes(t.index))||(!(!r||!t.properties[r])||!(!e||!t.collides)))}function i(t,n,r){var e=a(t,n);o(e)&&-1===r.indexOf(e)&&(r.push(e),i(t,n-1,r),i(t,n+1,r),i(t+1,n,r),i(t-1,n,r))}for(var u=t.map,l=[],a=function(n,r){return u.getTile(n,r,t.index)},f=0;f=2&&r(n[n.length-2],n[n.length-1],t[e])<=0;)n.pop();n.push(t[e])}return n.pop(),n}function o(t){for(var n=t.reverse(),e=[],o=0;o=2&&r(e[e.length-2],e[e.length-1],n[o])<=0;)e.pop();e.push(n[o])}return e.pop(),e}function i(t){var n,r=e(t);return n=o(t).concat(r),n.push(t[0]),n}t.exports=i},function(t,n){t.exports={toXy:function(t,n){return void 0===n?t.slice():t.map(function(t){return new Function("pt","return [pt"+n[0]+",pt"+n[1]+"];")(t)})},fromXy:function(t,n){return void 0===n?t.slice():t.map(function(t){return new Function("pt","var o = {}; o"+n[0]+"= pt[0]; o"+n[1]+"= pt[1]; return o;")(t)})}}},function(t,n){function r(t,n){this._cells=[],this._cellSize=n,t.forEach(function(t){var n=this.point2CellXY(t),r=n[0],e=n[1];void 0===this._cells[r]&&(this._cells[r]=[]),void 0===this._cells[r][e]&&(this._cells[r][e]=[]),this._cells[r][e].push(t)},this)}function e(t,n){return new r(t,n)}r.prototype={cellPoints:function(t,n){return void 0!==this._cells[t]&&void 0!==this._cells[t][n]?this._cells[t][n]:[]},rangePoints:function(t){for(var n=this.point2CellXY([t[0],t[1]]),r=this.point2CellXY([t[2],t[3]]),e=[],o=n[0];o<=r[0];o++)for(var i=n[1];i<=r[1];i++)e=e.concat(this.cellPoints(o,i));return e},removePoint:function(t){for(var n,r=this.point2CellXY(t),e=this._cells[r[0]][r[1]],o=0;o=0;i--)t[i][0]e&&(e=t[i][0]),t[i][1]>o&&(o=t[i][1]);return[e-n,o-r]}function f(t){return[Math.min(t[0][0],t[1][0]),Math.min(t[0][1],t[1][1]),Math.max(t[0][0],t[1][0]),Math.max(t[0][1],t[1][1])]}function c(t,n,r){for(var e,o,i=null,a=x,f=x,c=0;ca&&o>f&&!l([t[0],n[c]],r)&&!l([t[1],n[c]],r)&&(a=e,f=o,i=n[c]);return i}function s(t,n,r,e,o){for(var u,l,a,h,p,v,y,d=!1,x=0;xv||r[1]>y));v>=r[0]&&y>=r[1]&&(o[l]=!0),null!==h&&(t.splice(x+1,0,h),e.removePoint(h),d=!0)}return d?s(t,n,r,e,o):t}function h(t,n,r){var i,u,l,f,c,h,p,x=n||20;return t.length<4?t.slice():(p=e(o(y.toXy(t,r))),f=a(p),c=[f[0]*g,f[1]*g],i=d(p),l=p.filter(function(t){return i.indexOf(t)<0}),h=Math.ceil(1/(p.length/(f[0]*f[1]))),u=s(i,Math.pow(x,2),c,v(l,h),{}),y.fromXy(u,r))}var p=r(7),v=r(5),y=r(4),d=r(3),x=Math.cos(90/(180/Math.PI)),g=.6;t.exports=h},function(t,n){function r(t,n,r,e,o,i){var u=(i-n)*(r-t)-(e-n)*(o-t);return u>0||!(u<0)}function e(t,n){var e=t[0][0],o=t[0][1],i=t[1][0],u=t[1][1],l=n[0][0],a=n[0][1],f=n[1][0],c=n[1][1];return r(e,o,l,a,f,c)!==r(i,u,l,a,f,c)&&r(e,o,i,u,l,a)!==r(e,o,i,u,f,c)}t.exports=e}])}); //# sourceMappingURL=phaser-tiled-hull.min.js.map