1 line
130 KiB
JavaScript
1 line
130 KiB
JavaScript
window.framework={},window.__extends=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();var __awaiter=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,o){function s(t){try{c(i.next(t))}catch(t){o(t)}}function a(t){try{c(i.throw(t))}catch(t){o(t)}}function c(t){t.done?r(t.value):new n(function(e){e(t.value)}).then(s,a)}c((i=i.apply(t,e||[])).next())})},__generator=this&&this.__generator||function(t,e){var n,i,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,i=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],i=0}finally{n=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}};Array.prototype.findIndex=function(t){return function(t,e){for(var n=0,i=t.length;n<i;n++)if(e.call(arguments[2],t[n],n,t))return n;return-1}(this,t)},Array.prototype.any=function(t){return function(t,e){return t.findIndex(e)>-1}(this,t)},Array.prototype.firstOrDefault=function(t){return function(t,e){var n=t.findIndex(e);return-1==n?null:t[n]}(this,t)},Array.prototype.find=function(t){return function(t,e){return t.firstOrDefault(e)}(this,t)},Array.prototype.where=function(t){return function(t,e){if("function"==typeof t.reduce)return t.reduce(function(n,i,r){return e.call(arguments[2],i,r,t)&&n.push(i),n},[]);for(var n=[],i=0,r=t.length;i<r;i++){var o=t[i];e.call(arguments[2],o,i,t)&&n.push(o)}return n}(this,t)},Array.prototype.count=function(t){return function(t,e){return t.where(e).length}(this,t)},Array.prototype.findAll=function(t){return function(t,e){return t.where(e)}(this,t)},Array.prototype.contains=function(t){return function(t,e){for(var n=0,i=t.length;n<i;n++)if(t[n]==e)return!0;return!1}(this,t)},Array.prototype.removeAll=function(t){!function(t,e){var n;do{(n=t.findIndex(e))>=0&&t.splice(n,1)}while(n>=0)}(this,t)},Array.prototype.remove=function(t){return function(t,e){var n=t.findIndex(function(t){return t===e});return n>=0&&(t.splice(n,1),!0)}(this,t)},Array.prototype.removeAt=function(t){return function(t,e){t.splice(e,1)}(this,t)},Array.prototype.removeRange=function(t,e){return function(t,e,n){t.splice(e,n)}(this,t,e)},Array.prototype.select=function(t){return function(t,e){if("function"==typeof t.reduce)return t.reduce(function(n,i,r){return n.push(e.call(arguments[2],i,r,t)),n},[]);for(var n=[],i=0,r=t.length;i<r;i++)n.push(e.call(arguments[2],t[i],i,t));return n}(this,t)},Array.prototype.orderBy=function(t,e){return function(t,e,n){return t.sort(function(t,i){var r=e(t),o=e(i);return n?n(r,o):r>o?1:-1}),t}(this,t,e)},Array.prototype.orderByDescending=function(t,e){return function(t,e,n){return t.sort(function(t,i){var r=e(t),o=e(i);return n?-n(r,o):r<o?1:-1}),t}(this,t,e)},Array.prototype.groupBy=function(t){return function(t,e){if("function"==typeof t.reduce){var n=[];return t.reduce(function(i,r,o){var s=JSON.stringify(e.call(arguments[1],r,o,t)),a=n.findIndex(function(t){return t===s});return a<0&&(a=n.push(s)-1),i[a]||(i[a]=[]),i[a].push(r),i},[])}for(var i=[],r=[],o=function(n,o){var a=JSON.stringify(e.call(s[1],t[n],n,t)),c=r.findIndex(function(t){return t===a});c<0&&(c=r.push(a)-1),i[c]||(i[c]=[]),i[c].push(t[n])},s=arguments,a=0,c=t.length;a<c;a++)o(a);return i}(this,t)},Array.prototype.sum=function(t){return function(t,e){for(var n,i=0,r=t.length;i<r;i++)0==i?n=e?e.call(arguments[2],t[i],i,t):t[i]:n+=e?e.call(arguments[2],t[i],i,t):t[i];return n}(this,t)};var DebugDrawType,PriorityQueueNode=function(){return function(){this.priority=0,this.insertionIndex=0,this.queueIndex=0}}(),AStarPathfinder=function(){function t(){}return t.search=function(t,e,n){var i=this,r=!1,o=new Map;o.set(e,e);var s=new Map,a=new PriorityQueue(1e3);a.enqueue(new AStarNode(e),0),s.set(e,0);for(var c=function(){var e=a.dequeue();if(JSON.stringify(e.data)==JSON.stringify(n))return r=!0,"break";t.getNeighbors(e.data).forEach(function(r){var c=s.get(e.data)+t.cost(e.data,r);if(!i.hasKey(s,r)||c<s.get(r)){s.set(r,c);var h=c+t.heuristic(r,n);a.enqueue(new AStarNode(r),h),o.set(r,e.data)}})};a.count>0;){if("break"===c())break}return r?this.recontructPath(o,e,n):null},t.hasKey=function(t,e){for(var n,i=t.keys();!(n=i.next()).done;)if(JSON.stringify(n.value)==JSON.stringify(e))return!0;return!1},t.getKey=function(t,e){for(var n,i,r=t.keys(),o=t.values();n=r.next(),i=o.next(),!n.done;)if(JSON.stringify(n.value)==JSON.stringify(e))return i.value;return null},t.recontructPath=function(t,e,n){var i=[],r=n;for(i.push(n);r!=e;)r=this.getKey(t,r),i.push(r);return i.reverse(),i},t}(),AStarNode=function(t){function e(e){var n=t.call(this)||this;return n.data=e,n}return __extends(e,t),e}(PriorityQueueNode),AstarGridGraph=function(){function t(t,e){this.dirs=[new Vector2(1,0),new Vector2(0,-1),new Vector2(-1,0),new Vector2(0,1)],this.walls=[],this.weightedNodes=[],this.defaultWeight=1,this.weightedNodeWeight=5,this._neighbors=new Array(4),this._width=t,this._height=e}return t.prototype.isNodeInBounds=function(t){return 0<=t.x&&t.x<this._width&&0<=t.y&&t.y<this._height},t.prototype.isNodePassable=function(t){return!this.walls.firstOrDefault(function(e){return JSON.stringify(e)==JSON.stringify(t)})},t.prototype.search=function(t,e){return AStarPathfinder.search(this,t,e)},t.prototype.getNeighbors=function(t){var e=this;return this._neighbors.length=0,this.dirs.forEach(function(n){var i=new Vector2(t.x+n.x,t.y+n.y);e.isNodeInBounds(i)&&e.isNodePassable(i)&&e._neighbors.push(i)}),this._neighbors},t.prototype.cost=function(t,e){return this.weightedNodes.find(function(t){return JSON.stringify(t)==JSON.stringify(e)})?this.weightedNodeWeight:this.defaultWeight},t.prototype.heuristic=function(t,e){return Math.abs(t.x-e.x)+Math.abs(t.y-e.y)},t}(),PriorityQueue=function(){function t(t){this._numNodes=0,this._nodes=new Array(t+1),this._numNodesEverEnqueued=0}return t.prototype.clear=function(){this._nodes.splice(1,this._numNodes),this._numNodes=0},Object.defineProperty(t.prototype,"count",{get:function(){return this._numNodes},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"maxSize",{get:function(){return this._nodes.length-1},enumerable:!0,configurable:!0}),t.prototype.contains=function(t){return t?t.queueIndex<0||t.queueIndex>=this._nodes.length?(console.error("node.QueueIndex has been corrupted. Did you change it manually? Or add this node to another queue?"),!1):this._nodes[t.queueIndex]==t:(console.error("node cannot be null"),!1)},t.prototype.enqueue=function(t,e){t.priority=e,this._numNodes++,this._nodes[this._numNodes]=t,t.queueIndex=this._numNodes,t.insertionIndex=this._numNodesEverEnqueued++,this.cascadeUp(this._nodes[this._numNodes])},t.prototype.dequeue=function(){var t=this._nodes[1];return this.remove(t),t},t.prototype.remove=function(t){if(t.queueIndex==this._numNodes)return this._nodes[this._numNodes]=null,void this._numNodes--;var e=this._nodes[this._numNodes];this.swap(t,e),delete this._nodes[this._numNodes],this._numNodes--,this.onNodeUpdated(e)},t.prototype.isValidQueue=function(){for(var t=1;t<this._nodes.length;t++)if(this._nodes[t]){var e=2*t;if(e<this._nodes.length&&this._nodes[e]&&this.hasHigherPriority(this._nodes[e],this._nodes[t]))return!1;var n=e+1;if(n<this._nodes.length&&this._nodes[n]&&this.hasHigherPriority(this._nodes[n],this._nodes[t]))return!1}return!0},t.prototype.onNodeUpdated=function(t){var e=Math.floor(t.queueIndex/2),n=this._nodes[e];e>0&&this.hasHigherPriority(t,n)?this.cascadeUp(t):this.cascadeDown(t)},t.prototype.cascadeDown=function(t){for(var e,n=t.queueIndex;;){e=t;var i=2*n;if(i>this._numNodes){t.queueIndex=n,this._nodes[n]=t;break}var r=this._nodes[i];this.hasHigherPriority(r,e)&&(e=r);var o=i+1;if(o<=this._numNodes){var s=this._nodes[o];this.hasHigherPriority(s,e)&&(e=s)}if(e==t){t.queueIndex=n,this._nodes[n]=t;break}this._nodes[n]=e;var a=e.queueIndex;e.queueIndex=n,n=a}},t.prototype.cascadeUp=function(t){for(var e=Math.floor(t.queueIndex/2);e>=1;){var n=this._nodes[e];if(this.hasHigherPriority(n,t))break;this.swap(t,n),e=Math.floor(t.queueIndex/2)}},t.prototype.swap=function(t,e){this._nodes[t.queueIndex]=e,this._nodes[e.queueIndex]=t;var n=t.queueIndex;t.queueIndex=e.queueIndex,e.queueIndex=n},t.prototype.hasHigherPriority=function(t,e){return t.priority<e.priority||t.priority==e.priority&&t.insertionIndex<e.insertionIndex},t}(),BreadthFirstPathfinder=function(){function t(){}return t.search=function(t,e,n){var i=this,r=!1,o=[];o.unshift(e);var s=new Map;s.set(e,e);for(var a=function(){var e=o.shift();if(JSON.stringify(e)==JSON.stringify(n))return r=!0,"break";t.getNeighbors(e).forEach(function(t){i.hasKey(s,t)||(o.unshift(t),s.set(t,e))})};o.length>0;){if("break"===a())break}return r?AStarPathfinder.recontructPath(s,e,n):null},t.hasKey=function(t,e){for(var n,i=t.keys();!(n=i.next()).done;)if(JSON.stringify(n.value)==JSON.stringify(e))return!0;return!1},t}(),UnweightedGraph=function(){function t(){this.edges=new Map}return t.prototype.addEdgesForNode=function(t,e){return this.edges.set(t,e),this},t.prototype.getNeighbors=function(t){return this.edges.get(t)},t}(),Vector2=function(){function t(t,e){this.x=0,this.y=0,this.x=t||0,this.y=e||this.x}return Object.defineProperty(t,"zero",{get:function(){return t.zeroVector2},enumerable:!0,configurable:!0}),Object.defineProperty(t,"one",{get:function(){return t.unitVector2},enumerable:!0,configurable:!0}),Object.defineProperty(t,"unitX",{get:function(){return t.unitXVector},enumerable:!0,configurable:!0}),Object.defineProperty(t,"unitY",{get:function(){return t.unitYVector},enumerable:!0,configurable:!0}),t.add=function(e,n){var i=new t(0,0);return i.x=e.x+n.x,i.y=e.y+n.y,i},t.divide=function(e,n){var i=new t(0,0);return i.x=e.x/n.x,i.y=e.y/n.y,i},t.multiply=function(e,n){var i=new t(0,0);return i.x=e.x*n.x,i.y=e.y*n.y,i},t.subtract=function(e,n){var i=new t(0,0);return i.x=e.x-n.x,i.y=e.y-n.y,i},t.prototype.normalize=function(){var t=1/Math.sqrt(this.x*this.x+this.y*this.y);this.x*=t,this.y*=t},t.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},t.prototype.round=function(){return new t(Math.round(this.x),Math.round(this.y))},t.normalize=function(t){var e=1/Math.sqrt(t.x*t.x+t.y*t.y);return t.x*=e,t.y*=e,t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.distanceSquared=function(t,e){var n=t.x-e.x,i=t.y-e.y;return n*n+i*i},t.clamp=function(e,n,i){return new t(MathHelper.clamp(e.x,n.x,i.x),MathHelper.clamp(e.y,n.y,i.y))},t.lerp=function(e,n,i){return new t(MathHelper.lerp(e.x,n.x,i),MathHelper.lerp(e.y,n.y,i))},t.transform=function(e,n){return new t(e.x*n.m11+e.y*n.m21,e.x*n.m12+e.y*n.m22)},t.distance=function(t,e){var n=t.x-e.x,i=t.y-e.y;return Math.sqrt(n*n+i*i)},t.negate=function(e){var n=new t;return n.x=-e.x,n.y=-e.y,n},t.unitYVector=new t(0,1),t.unitXVector=new t(1,0),t.unitVector2=new t(1,1),t.zeroVector2=new t(0,0),t}(),UnweightedGridGraph=function(){function t(e,n,i){void 0===i&&(i=!1),this.walls=[],this._neighbors=new Array(4),this._width=e,this._hegiht=n,this._dirs=i?t.COMPASS_DIRS:t.CARDINAL_DIRS}return t.prototype.isNodeInBounds=function(t){return 0<=t.x&&t.x<this._width&&0<=t.y&&t.y<this._hegiht},t.prototype.isNodePassable=function(t){return!this.walls.firstOrDefault(function(e){return JSON.stringify(e)==JSON.stringify(t)})},t.prototype.getNeighbors=function(t){var e=this;return this._neighbors.length=0,this._dirs.forEach(function(n){var i=new Vector2(t.x+n.x,t.y+n.y);e.isNodeInBounds(i)&&e.isNodePassable(i)&&e._neighbors.push(i)}),this._neighbors},t.prototype.search=function(t,e){return BreadthFirstPathfinder.search(this,t,e)},t.CARDINAL_DIRS=[new Vector2(1,0),new Vector2(0,-1),new Vector2(-1,0),new Vector2(0,-1)],t.COMPASS_DIRS=[new Vector2(1,0),new Vector2(1,-1),new Vector2(0,-1),new Vector2(-1,-1),new Vector2(-1,0),new Vector2(-1,1),new Vector2(0,1),new Vector2(1,1)],t}(),WeightedGridGraph=function(){function t(e,n,i){void 0===i&&(i=!1),this.walls=[],this.weightedNodes=[],this.defaultWeight=1,this.weightedNodeWeight=5,this._neighbors=new Array(4),this._width=e,this._height=n,this._dirs=i?t.COMPASS_DIRS:t.CARDINAL_DIRS}return t.prototype.isNodeInBounds=function(t){return 0<=t.x&&t.x<this._width&&0<=t.y&&t.y<this._height},t.prototype.isNodePassable=function(t){return!this.walls.firstOrDefault(function(e){return JSON.stringify(e)==JSON.stringify(t)})},t.prototype.search=function(t,e){return WeightedPathfinder.search(this,t,e)},t.prototype.getNeighbors=function(t){var e=this;return this._neighbors.length=0,this._dirs.forEach(function(n){var i=new Vector2(t.x+n.x,t.y+n.y);e.isNodeInBounds(i)&&e.isNodePassable(i)&&e._neighbors.push(i)}),this._neighbors},t.prototype.cost=function(t,e){return this.weightedNodes.find(function(t){return JSON.stringify(t)==JSON.stringify(e)})?this.weightedNodeWeight:this.defaultWeight},t.CARDINAL_DIRS=[new Vector2(1,0),new Vector2(0,-1),new Vector2(-1,0),new Vector2(0,1)],t.COMPASS_DIRS=[new Vector2(1,0),new Vector2(1,-1),new Vector2(0,-1),new Vector2(-1,-1),new Vector2(-1,0),new Vector2(-1,1),new Vector2(0,1),new Vector2(1,1)],t}(),WeightedNode=function(t){function e(e){var n=t.call(this)||this;return n.data=e,n}return __extends(e,t),e}(PriorityQueueNode),WeightedPathfinder=function(){function t(){}return t.search=function(t,e,n){var i=this,r=!1,o=new Map;o.set(e,e);var s=new Map,a=new PriorityQueue(1e3);a.enqueue(new WeightedNode(e),0),s.set(e,0);for(var c=function(){var e=a.dequeue();if(JSON.stringify(e.data)==JSON.stringify(n))return r=!0,"break";t.getNeighbors(e.data).forEach(function(n){var r=s.get(e.data)+t.cost(e.data,n);if(!i.hasKey(s,n)||r<s.get(n)){s.set(n,r);var c=r;a.enqueue(new WeightedNode(n),c),o.set(n,e.data)}})};a.count>0;){if("break"===c())break}return r?this.recontructPath(o,e,n):null},t.hasKey=function(t,e){for(var n,i=t.keys();!(n=i.next()).done;)if(JSON.stringify(n.value)==JSON.stringify(e))return!0;return!1},t.getKey=function(t,e){for(var n,i,r=t.keys(),o=t.values();n=r.next(),i=o.next(),!n.done;)if(JSON.stringify(n.value)==JSON.stringify(e))return i.value;return null},t.recontructPath=function(t,e,n){var i=[],r=n;for(i.push(n);r!=e;)r=this.getKey(t,r),i.push(r);return i.reverse(),i},t}(),Debug=function(){function t(){}return t.drawHollowRect=function(t,e,n){void 0===n&&(n=0),this._debugDrawItems.push(new DebugDrawItem(t,e,n))},t.render=function(){if(this._debugDrawItems.length>0){var t=new egret.Shape;SceneManager.scene&&SceneManager.scene.addChild(t);for(var e=this._debugDrawItems.length-1;e>=0;e--){this._debugDrawItems[e].draw(t)&&this._debugDrawItems.removeAt(e)}}},t._debugDrawItems=[],t}(),DebugDefaults=function(){function t(){}return t.verletParticle=14431326,t.verletConstraintEdge=4406838,t}();!function(t){t[t.line=0]="line",t[t.hollowRectangle=1]="hollowRectangle",t[t.pixel=2]="pixel",t[t.text=3]="text"}(DebugDrawType||(DebugDrawType={}));var CoreEvents,DebugDrawItem=function(){function t(t,e,n){this.rectangle=t,this.color=e,this.duration=n,this.drawType=DebugDrawType.hollowRectangle}return t.prototype.draw=function(t){switch(this.drawType){case DebugDrawType.line:DrawUtils.drawLine(t,this.start,this.end,this.color);break;case DebugDrawType.hollowRectangle:DrawUtils.drawHollowRect(t,this.rectangle,this.color);break;case DebugDrawType.pixel:DrawUtils.drawPixel(t,new Vector2(this.x,this.y),this.color,this.size);break;case DebugDrawType.text:}return this.duration-=Time.deltaTime,this.duration<0},t}(),Component=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._enabled=!0,e.updateInterval=1,e._updateOrder=0,e}return __extends(e,t),Object.defineProperty(e.prototype,"enabled",{get:function(){return this.entity?this.entity.enabled&&this._enabled:this._enabled},set:function(t){this.setEnabled(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"localPosition",{get:function(){return new Vector2(this.entity.x+this.x,this.entity.y+this.y)},enumerable:!0,configurable:!0}),e.prototype.setEnabled=function(t){return this._enabled!=t&&(this._enabled=t,this._enabled?this.onEnabled():this.onDisabled()),this},Object.defineProperty(e.prototype,"updateOrder",{get:function(){return this._updateOrder},set:function(t){this.setUpdateOrder(t)},enumerable:!0,configurable:!0}),e.prototype.setUpdateOrder=function(t){return this._updateOrder!=t&&(this._updateOrder=t),this},e.prototype.initialize=function(){},e.prototype.onAddedToEntity=function(){},e.prototype.onRemovedFromEntity=function(){},e.prototype.onEnabled=function(){},e.prototype.onDisabled=function(){},e.prototype.debugRender=function(){},e.prototype.update=function(){},e.prototype.onEntityTransformChanged=function(t){},e.prototype.registerComponent=function(){this.entity.componentBits.set(ComponentTypeManager.getIndexFor(this),!1),this.entity.scene.entityProcessors.onComponentAdded(this.entity)},e.prototype.deregisterComponent=function(){this.entity.componentBits.set(ComponentTypeManager.getIndexFor(this)),this.entity.scene.entityProcessors.onComponentRemoved(this.entity)},e}(egret.DisplayObjectContainer);!function(t){t[t.SceneChanged=0]="SceneChanged"}(CoreEvents||(CoreEvents={}));var TransformComponent,Entity=function(t){function e(n){var i=t.call(this)||this;return i._updateOrder=0,i._enabled=!0,i._tag=0,i.name=n,i.components=new ComponentList(i),i.id=e._idGenerator++,i.componentBits=new BitSet,i.addEventListener(egret.Event.ADDED_TO_STAGE,i.onAddToStage,i),i}return __extends(e,t),Object.defineProperty(e.prototype,"isDestoryed",{get:function(){return this._isDestoryed},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"position",{get:function(){return new Vector2(this.x,this.y)},set:function(t){this.$setX(t.x),this.$setY(t.y),this.onEntityTransformChanged(TransformComponent.position)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"scale",{get:function(){return new Vector2(this.scaleX,this.scaleY)},set:function(t){this.$setScaleX(t.x),this.$setScaleY(t.y),this.onEntityTransformChanged(TransformComponent.scale)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rotation",{get:function(){return this.$getRotation()},set:function(t){this.$setRotation(t),this.onEntityTransformChanged(TransformComponent.rotation)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"enabled",{get:function(){return this._enabled},set:function(t){this.setEnabled(t)},enumerable:!0,configurable:!0}),e.prototype.setEnabled=function(t){return this._enabled!=t&&(this._enabled=t),this},Object.defineProperty(e.prototype,"tag",{get:function(){return this._tag},set:function(t){this.setTag(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"stage",{get:function(){return this.scene?this.scene.stage:null},enumerable:!0,configurable:!0}),e.prototype.onAddToStage=function(){this.onEntityTransformChanged(TransformComponent.position)},Object.defineProperty(e.prototype,"updateOrder",{get:function(){return this._updateOrder},set:function(t){this.setUpdateOrder(t)},enumerable:!0,configurable:!0}),e.prototype.roundPosition=function(){this.position=Vector2Ext.round(this.position)},e.prototype.setUpdateOrder=function(t){if(this._updateOrder!=t)return this._updateOrder=t,this.scene,this},e.prototype.setTag=function(t){return this._tag!=t&&(this.scene&&this.scene.entities.removeFromTagList(this),this._tag=t,this.scene&&this.scene.entities.addToTagList(this)),this},e.prototype.attachToScene=function(t){this.scene=t,t.entities.add(this),this.components.registerAllComponents();for(var e=0;e<this.numChildren;e++)this.getChildAt(e).entity.attachToScene(t)},e.prototype.detachFromScene=function(){this.scene.entities.remove(this),this.components.deregisterAllComponents();for(var t=0;t<this.numChildren;t++)this.getChildAt(t).entity.detachFromScene()},e.prototype.addComponent=function(t){return t.entity=this,this.components.add(t),this.addChild(t),t.initialize(),t},e.prototype.hasComponent=function(t){return null!=this.components.getComponent(t,!1)},e.prototype.getOrCreateComponent=function(t){var e=this.components.getComponent(t,!0);return e||(e=this.addComponent(t)),e},e.prototype.getComponent=function(t){return this.components.getComponent(t,!1)},e.prototype.getComponents=function(t,e){return this.components.getComponents(t,e)},e.prototype.onEntityTransformChanged=function(t){this.components.onEntityTransformChanged(t)},e.prototype.removeComponentForType=function(t){var e=this.getComponent(t);return!!e&&(this.removeComponent(e),!0)},e.prototype.removeComponent=function(t){this.components.remove(t)},e.prototype.removeAllComponents=function(){for(var t=0;t<this.components.count;t++)this.removeComponent(this.components.buffer[t])},e.prototype.update=function(){this.components.update()},e.prototype.onAddedToScene=function(){},e.prototype.onRemovedFromScene=function(){this._isDestoryed&&this.components.removeAllComponents()},e.prototype.destroy=function(){this._isDestoryed=!0,this.removeEventListener(egret.Event.ADDED_TO_STAGE,this.onAddToStage,this),this.scene.entities.remove(this),this.removeChildren(),this.parent&&this.parent.removeChild(this);for(var t=this.numChildren-1;t>=0;t--){this.getChildAt(t).entity.destroy()}},e}(egret.DisplayObjectContainer);!function(t){t[t.rotation=0]="rotation",t[t.scale=1]="scale",t[t.position=2]="position"}(TransformComponent||(TransformComponent={}));var CameraStyle,Scene=function(t){function e(){var e=t.call(this)||this;return e.enablePostProcessing=!0,e._renderers=[],e._postProcessors=[],e.entityProcessors=new EntityProcessorList,e.renderableComponents=new RenderableComponentList,e.entities=new EntityList(e),e.content=new ContentManager,e.width=SceneManager.stage.stageWidth,e.height=SceneManager.stage.stageHeight,e.addEventListener(egret.Event.ACTIVATE,e.onActive,e),e.addEventListener(egret.Event.DEACTIVATE,e.onDeactive,e),e}return __extends(e,t),e.prototype.createEntity=function(t){var e=new Entity(t);return e.position=new Vector2(0,0),this.addEntity(e)},e.prototype.addEntity=function(t){this.entities.add(t),t.scene=this,this.addChild(t);for(var e=0;e<t.numChildren;e++)this.addEntity(t.getChildAt(e).entity);return t},e.prototype.destroyAllEntities=function(){for(var t=0;t<this.entities.count;t++)this.entities.buffer[t].destroy()},e.prototype.findEntity=function(t){return this.entities.findEntity(t)},e.prototype.addEntityProcessor=function(t){return t.scene=this,this.entityProcessors.add(t),t},e.prototype.removeEntityProcessor=function(t){this.entityProcessors.remove(t)},e.prototype.getEntityProcessor=function(){return this.entityProcessors.getProcessor()},e.prototype.addRenderer=function(t){return this._renderers.push(t),this._renderers.sort(),t.onAddedToScene(this),t},e.prototype.getRenderer=function(t){for(var e=0;e<this._renderers.length;e++)if(this._renderers[e]instanceof t)return this._renderers[e];return null},e.prototype.removeRenderer=function(t){this._renderers.remove(t),t.unload()},e.prototype.begin=function(){SceneManager.sceneTransition?SceneManager.stage.addChildAt(this,SceneManager.stage.numChildren-1):SceneManager.stage.addChild(this),0==this._renderers.length&&(this.addRenderer(new DefaultRenderer),console.warn("场景开始时没有渲染器 自动添加DefaultRenderer以保证能够正常渲染")),this.camera=this.createEntity("camera").getOrCreateComponent(new Camera),Physics.reset(),this.entityProcessors&&this.entityProcessors.begin(),this.camera.onSceneSizeChanged(this.stage.stageWidth,this.stage.stageHeight),this._didSceneBegin=!0,this.onStart()},e.prototype.end=function(){this._didSceneBegin=!1,this.removeEventListener(egret.Event.DEACTIVATE,this.onDeactive,this),this.removeEventListener(egret.Event.ACTIVATE,this.onActive,this);for(var t=0;t<this._renderers.length;t++)this._renderers[t].unload();for(t=0;t<this._postProcessors.length;t++)this._postProcessors[t].unload();this.entities.removeAllEntities(),this.removeChildren(),Physics.clear(),this.camera=null,this.content.dispose(),this.entityProcessors&&this.entityProcessors.end(),this.unload(),this.parent&&this.parent.removeChild(this)},e.prototype.onStart=function(){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(t){return[2]})})},e.prototype.onActive=function(){},e.prototype.onDeactive=function(){},e.prototype.unload=function(){},e.prototype.update=function(){this.entities.updateLists(),this.entityProcessors&&this.entityProcessors.update(),this.entities.update(),this.entityProcessors&&this.entityProcessors.lateUpdate(),this.renderableComponents.updateList()},e.prototype.postRender=function(){var t=0;if(this.enablePostProcessing)for(var e=0;e<this._postProcessors.length;e++)if(this._postProcessors[e].enable){MathHelper.isEven(t);t++,this._postProcessors[e].process()}},e.prototype.render=function(){for(var t=0;t<this._renderers.length;t++)this._renderers[t].render(this)},e.prototype.addPostProcessor=function(t){return this._postProcessors.push(t),this._postProcessors.sort(),t.onAddedToScene(this),this._didSceneBegin&&t.onSceneBackBufferSizeChanged(this.stage.stageWidth,this.stage.stageHeight),t},e}(egret.DisplayObjectContainer),SceneManager=function(){function t(e){e.addEventListener(egret.Event.ENTER_FRAME,t.update,this),t._instnace=this,t.emitter=new Emitter,t.content=new ContentManager,t.stage=e,t.initialize(e),t.timerRuler=new TimeRuler}return Object.defineProperty(t,"Instance",{get:function(){return this._instnace},enumerable:!0,configurable:!0}),Object.defineProperty(t,"scene",{get:function(){return this._scene},set:function(e){if(!e)throw new Error("场景不能为空");null==this._scene?(this._scene=e,this._scene.begin(),t.Instance.onSceneChanged()):this._nextScene=e,this.registerActiveSceneChanged(this._scene,this._nextScene)},enumerable:!0,configurable:!0}),t.initialize=function(t){Input.initialize(t)},t.update=function(){if(t.startDebugUpdate(),Time.update(egret.getTimer()),t._scene){for(var e=GlobalManager.globalManagers.length-1;e>=0;e--)GlobalManager.globalManagers[e].enabled&&GlobalManager.globalManagers[e].update();t.sceneTransition&&(!t.sceneTransition||t.sceneTransition.loadsNewScene&&!t.sceneTransition.isNewSceneLoaded)||t._scene.update(),t._nextScene&&(t._scene.end(),t._scene=t._nextScene,t._nextScene=null,t._instnace.onSceneChanged(),t._scene.begin())}t.endDebugUpdate(),t.render()},t.render=function(){this.sceneTransition?(this.sceneTransition.preRender(),this._scene&&!this.sceneTransition.hasPreviousSceneRender?(this._scene.render(),this._scene.postRender(),this.sceneTransition.onBeginTransition()):this.sceneTransition&&(this._scene&&this.sceneTransition.isNewSceneLoaded&&(this._scene.render(),this._scene.postRender()),this.sceneTransition.render())):this._scene&&(this._scene.render(),Debug.render(),this._scene.postRender())},t.startSceneTransition=function(t){if(!this.sceneTransition)return this.sceneTransition=t,t;console.warn("在前一个场景完成之前,不能开始一个新的场景转换。")},t.registerActiveSceneChanged=function(t,e){this.activeSceneChanged&&this.activeSceneChanged(t,e)},t.prototype.onSceneChanged=function(){t.emitter.emit(CoreEvents.SceneChanged),Time.sceneChanged()},t.startDebugUpdate=function(){TimeRuler.Instance.startFrame(),TimeRuler.Instance.beginMark("update",65280)},t.endDebugUpdate=function(){TimeRuler.Instance.endMark("update")},t}(),Camera=function(t){function e(){var e=t.call(this)||this;return e._origin=Vector2.zero,e._minimumZoom=.3,e._maximumZoom=3,e._position=Vector2.zero,e.followLerp=.1,e.deadzone=new Rectangle,e.focusOffset=new Vector2,e.mapLockEnabled=!1,e.mapSize=new Vector2,e._worldSpaceDeadZone=new Rectangle,e._desiredPositionDelta=new Vector2,e.cameraStyle=CameraStyle.lockOn,e.width=SceneManager.stage.stageWidth,e.height=SceneManager.stage.stageHeight,e.setZoom(0),e}return __extends(e,t),Object.defineProperty(e.prototype,"zoom",{get:function(){return 0==this._zoom?1:this._zoom<1?MathHelper.map(this._zoom,this._minimumZoom,1,-1,0):MathHelper.map(this._zoom,1,this._maximumZoom,0,1)},set:function(t){this.setZoom(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"minimumZoom",{get:function(){return this._minimumZoom},set:function(t){this.setMinimumZoom(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maximumZoom",{get:function(){return this._maximumZoom},set:function(t){this.setMaximumZoom(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"origin",{get:function(){return this._origin},set:function(t){this._origin!=t&&(this._origin=t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"position",{get:function(){return this._position},set:function(t){this._position=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"x",{get:function(){return this._position.x},set:function(t){this._position.x=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"y",{get:function(){return this._position.y},set:function(t){this._position.y=t},enumerable:!0,configurable:!0}),e.prototype.onSceneSizeChanged=function(t,e){var n=this._origin;this.origin=new Vector2(t/2,e/2),this.entity.position=Vector2.add(this.entity.position,Vector2.subtract(this._origin,n))},e.prototype.setMinimumZoom=function(t){return this._zoom<t&&(this._zoom=this.minimumZoom),this._minimumZoom=t,this},e.prototype.setMaximumZoom=function(t){return this._zoom>t&&(this._zoom=t),this._maximumZoom=t,this},e.prototype.setZoom=function(t){var e=MathHelper.clamp(t,-1,1);return this._zoom=0==e?1:e<0?MathHelper.map(e,-1,0,this._minimumZoom,1):MathHelper.map(e,0,1,1,this._maximumZoom),SceneManager.scene.scaleX=this._zoom,SceneManager.scene.scaleY=this._zoom,this},e.prototype.setRotation=function(t){return SceneManager.scene.rotation=t,this},e.prototype.setPosition=function(t){return this.entity.position=t,this},e.prototype.follow=function(t,e){void 0===e&&(e=CameraStyle.cameraWindow),this.targetEntity=t,this.cameraStyle=e;var n=new Rectangle(0,0,SceneManager.stage.stageWidth,SceneManager.stage.stageHeight);switch(this.cameraStyle){case CameraStyle.cameraWindow:var i=n.width/6,r=n.height/3;this.deadzone=new Rectangle((n.width-i)/2,(n.height-r)/2,i,r);break;case CameraStyle.lockOn:this.deadzone=new Rectangle(n.width/2,n.height/2,10,10)}},e.prototype.update=function(){var t=new Rectangle(0,0,SceneManager.stage.stageWidth,SceneManager.stage.stageHeight),e=Vector2.multiply(new Vector2(t.width,t.height),new Vector2(.5));this._worldSpaceDeadZone.x=this.position.x-e.x*SceneManager.scene.scaleX+this.deadzone.x+this.focusOffset.x,this._worldSpaceDeadZone.y=this.position.y-e.y*SceneManager.scene.scaleY+this.deadzone.y+this.focusOffset.y,this._worldSpaceDeadZone.width=this.deadzone.width,this._worldSpaceDeadZone.height=this.deadzone.height,this.targetEntity&&this.updateFollow(),this.position=Vector2.lerp(this.position,Vector2.add(this.position,this._desiredPositionDelta),this.followLerp),this.entity.roundPosition(),this.mapLockEnabled&&(this.position=this.clampToMapSize(this.position),this.entity.roundPosition())},e.prototype.clampToMapSize=function(t){var e=new Rectangle(0,0,SceneManager.stage.stageWidth,SceneManager.stage.stageHeight),n=Vector2.multiply(new Vector2(e.width,e.height),new Vector2(.5)),i=new Vector2(this.mapSize.x-n.x,this.mapSize.y-n.y);return Vector2.clamp(t,n,i)},e.prototype.updateFollow=function(){if(this._desiredPositionDelta.x=this._desiredPositionDelta.y=0,this.cameraStyle==CameraStyle.lockOn){var t=this.targetEntity.position.x,e=this.targetEntity.position.y;this._worldSpaceDeadZone.x>t?this._desiredPositionDelta.x=t-this._worldSpaceDeadZone.x:this._worldSpaceDeadZone.x<t&&(this._desiredPositionDelta.x=t-this._worldSpaceDeadZone.x),this._worldSpaceDeadZone.y<e?this._desiredPositionDelta.y=e-this._worldSpaceDeadZone.y:this._worldSpaceDeadZone.y>e&&(this._desiredPositionDelta.y=e-this._worldSpaceDeadZone.y)}else{if(!this._targetCollider&&(this._targetCollider=this.targetEntity.getComponent(Collider),!this._targetCollider))return;var n=this.targetEntity.getComponent(Collider).bounds;this._worldSpaceDeadZone.containsRect(n)||(this._worldSpaceDeadZone.left>n.left?this._desiredPositionDelta.x=n.left-this._worldSpaceDeadZone.left:this._worldSpaceDeadZone.right<n.right&&(this._desiredPositionDelta.x=n.right-this._worldSpaceDeadZone.right),this._worldSpaceDeadZone.bottom<n.bottom?this._desiredPositionDelta.y=n.bottom-this._worldSpaceDeadZone.bottom:this._worldSpaceDeadZone.top>n.top&&(this._desiredPositionDelta.y=n.top-this._worldSpaceDeadZone.top))}},e}(Component);!function(t){t[t.lockOn=0]="lockOn",t[t.cameraWindow=1]="cameraWindow"}(CameraStyle||(CameraStyle={}));var LoopMode,State,ComponentPool=function(){function t(t){this._type=t,this._cache=[]}return t.prototype.obtain=function(){try{return this._cache.length>0?this._cache.shift():new this._type}catch(t){throw new Error(this._type+t)}},t.prototype.free=function(t){t.reset(),this._cache.push(t)},t}(),PooledComponent=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e}(Component),RenderableComponent=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._areBoundsDirty=!0,e._bounds=new Rectangle,e._localOffset=Vector2.zero,e.color=0,e}return __extends(e,t),Object.defineProperty(e.prototype,"width",{get:function(){return this.getWidth()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"height",{get:function(){return this.getHeight()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isVisible",{get:function(){return this._isVisible},set:function(t){this._isVisible=t,this._isVisible?this.onBecameVisible():this.onBecameInvisible()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"bounds",{get:function(){return new Rectangle(this.getBounds().x,this.getBounds().y,this.getBounds().width,this.getBounds().height)},enumerable:!0,configurable:!0}),e.prototype.getWidth=function(){return this.bounds.width},e.prototype.getHeight=function(){return this.bounds.height},e.prototype.onBecameVisible=function(){},e.prototype.onBecameInvisible=function(){},e.prototype.isVisibleFromCamera=function(t){return this.isVisible=t.getBounds().intersects(this.getBounds()),this.isVisible},e}(PooledComponent),Mesh=function(t){function e(){var e=t.call(this)||this;return e._mesh=new egret.Mesh,e}return __extends(e,t),e.prototype.setTexture=function(t){return this._mesh.texture=t,this},e.prototype.onAddedToEntity=function(){this.addChild(this._mesh)},e.prototype.onRemovedFromEntity=function(){this.removeChild(this._mesh)},e.prototype.render=function(t){this.x=this.entity.position.x-t.position.x+t.origin.x,this.y=this.entity.position.y-t.position.y+t.origin.y},e.prototype.reset=function(){},e}(RenderableComponent),SpriteRenderer=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),Object.defineProperty(e.prototype,"sprite",{get:function(){return this._sprite},set:function(t){this.setSprite(t)},enumerable:!0,configurable:!0}),e.prototype.setSprite=function(t){return this.removeChildren(),this._sprite=t,this._sprite&&(this.anchorOffsetX=this._sprite.origin.x/this._sprite.sourceRect.width,this.anchorOffsetY=this._sprite.origin.y/this._sprite.sourceRect.height),this.bitmap=new egret.Bitmap(t.texture2D),this.addChild(this.bitmap),this},e.prototype.setColor=function(t){var e=[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0];e[0]=Math.floor(t/256/256)/255,e[6]=Math.floor(t/256%256)/255,e[12]=t%256/255;var n=new egret.ColorMatrixFilter(e);return this.filters=[n],this},e.prototype.isVisibleFromCamera=function(t){return this.isVisible=new Rectangle(0,0,this.stage.stageWidth,this.stage.stageHeight).intersects(this.bounds),this.visible=this.isVisible,this.isVisible},e.prototype.render=function(t){this.x==-t.position.x+t.origin.x&&this.y==-t.position.y+t.origin.y||(this.x=-t.position.x+t.origin.x,this.y=-t.position.y+t.origin.y,this.entity.onEntityTransformChanged(TransformComponent.position))},e.prototype.onRemovedFromEntity=function(){this.parent&&this.parent.removeChild(this)},e.prototype.reset=function(){},e}(RenderableComponent),TiledSpriteRenderer=function(t){function e(e){var n=t.call(this)||this;return n.leftTexture=new egret.Bitmap,n.rightTexture=new egret.Bitmap,n.leftTexture.texture=e.texture2D,n.rightTexture.texture=e.texture2D,n.setSprite(e),n.sourceRect=e.sourceRect,n}return __extends(e,t),Object.defineProperty(e.prototype,"scrollX",{get:function(){return this.sourceRect.x},set:function(t){this.sourceRect.x=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"scrollY",{get:function(){return this.sourceRect.y},set:function(t){this.sourceRect.y=t},enumerable:!0,configurable:!0}),e.prototype.render=function(e){if(this.sprite){t.prototype.render.call(this,e);var n=new egret.RenderTexture,i=new egret.DisplayObjectContainer;i.removeChildren(),i.addChild(this.leftTexture),i.addChild(this.rightTexture),this.leftTexture.x=this.sourceRect.x,this.rightTexture.x=this.sourceRect.x-this.sourceRect.width,this.leftTexture.y=this.sourceRect.y,this.rightTexture.y=this.sourceRect.y,i.cacheAsBitmap=!0,n.drawToTexture(i,new egret.Rectangle(0,0,this.sourceRect.width,this.sourceRect.height)),this.bitmap.texture=n}},e}(SpriteRenderer),ScrollingSpriteRenderer=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.scrollSpeedX=15,e.scroolSpeedY=0,e._scrollX=0,e._scrollY=0,e}return __extends(e,t),e.prototype.update=function(){this._scrollX+=this.scrollSpeedX*Time.deltaTime,this._scrollY+=this.scroolSpeedY*Time.deltaTime,this.sourceRect.x=this._scrollX,this.sourceRect.y=this._scrollY},e.prototype.render=function(e){if(this.sprite){t.prototype.render.call(this,e);var n=new egret.RenderTexture,i=new egret.DisplayObjectContainer;i.removeChildren(),i.addChild(this.leftTexture),i.addChild(this.rightTexture),this.leftTexture.x=this.sourceRect.x,this.rightTexture.x=this.sourceRect.x-this.sourceRect.width,this.leftTexture.y=this.sourceRect.y,this.rightTexture.y=this.sourceRect.y,i.cacheAsBitmap=!0,n.drawToTexture(i,new egret.Rectangle(0,0,this.sourceRect.width,this.sourceRect.height)),this.bitmap.texture=n}},e}(TiledSpriteRenderer),Sprite=function(){return function(t,e,n){void 0===e&&(e=new Rectangle(0,0,t.textureWidth,t.textureHeight)),void 0===n&&(n=e.getHalfSize()),this.uvs=new Rectangle,this.texture2D=t,this.sourceRect=e,this.center=new Vector2(.5*e.width,.5*e.height),this.origin=n;var i=1/t.textureWidth,r=1/t.textureHeight;this.uvs.x=e.x*i,this.uvs.y=e.y*r,this.uvs.width=e.width*i,this.uvs.height=e.height*r}}(),SpriteAnimation=function(){return function(t,e){this.sprites=t,this.frameRate=e}}(),SpriteAnimator=function(t){function e(e){var n=t.call(this)||this;return n.speed=1,n.animationState=State.none,n._animations=new Map,n._elapsedTime=0,e&&n.setSprite(e),n}return __extends(e,t),Object.defineProperty(e.prototype,"isRunning",{get:function(){return this.animationState==State.running},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"animations",{get:function(){return this._animations},enumerable:!0,configurable:!0}),e.prototype.addAnimation=function(t,e){return!this.sprite&&e.sprites.length>0&&this.setSprite(e.sprites[0]),this._animations[t]=e,this},e.prototype.play=function(t,e){void 0===e&&(e=null),this.currentAnimation=this._animations[t],this.currentAnimationName=t,this.currentFrame=0,this.animationState=State.running,this.sprite=this.currentAnimation.sprites[0],this._elapsedTime=0,this._loopMode=e||LoopMode.loop},e.prototype.isAnimationActive=function(t){return this.currentAnimation&&this.currentAnimationName==t},e.prototype.pause=function(){this.animationState=State.paused},e.prototype.unPause=function(){this.animationState=State.running},e.prototype.stop=function(){this.currentAnimation=null,this.currentAnimationName=null,this.currentFrame=0,this.animationState=State.none},e.prototype.update=function(){if(this.animationState==State.running&&this.currentAnimation){var t=this.currentAnimation,e=1/(t.frameRate*this.speed),n=e*t.sprites.length;this._elapsedTime+=Time.deltaTime;var i=Math.abs(this._elapsedTime);if(this._loopMode==LoopMode.once&&i>n||this._loopMode==LoopMode.pingPongOnce&&i>2*n)return this.animationState=State.completed,this._elapsedTime=0,this.currentFrame=0,void(this.sprite=t.sprites[this.currentFrame]);var r=Math.floor(i/e),o=t.sprites.length;if(o>2&&(this._loopMode==LoopMode.pingPong||this._loopMode==LoopMode.pingPongOnce)){var s=o-1;this.currentFrame=s-Math.abs(s-r%(2*s))}else this.currentFrame=r%o;this.sprite=t.sprites[this.currentFrame]}},e}(SpriteRenderer);!function(t){t[t.loop=0]="loop",t[t.once=1]="once",t[t.clampForever=2]="clampForever",t[t.pingPong=3]="pingPong",t[t.pingPongOnce=4]="pingPongOnce"}(LoopMode||(LoopMode={})),function(t){t[t.none=0]="none",t[t.running=1]="running",t[t.paused=2]="paused",t[t.completed=3]="completed"}(State||(State={}));var PointSectors,Mover=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.onAddedToEntity=function(){this._triggerHelper=new ColliderTriggerHelper(this.entity)},e.prototype.calculateMovement=function(t){var e=new CollisionResult;if(!this.entity.getComponent(Collider)||!this._triggerHelper)return null;for(var n=this.entity.getComponents(Collider),i=0;i<n.length;i++){var r=n[i];if(!r.isTrigger){var o=r.bounds;o.x+=t.x,o.y+=t.y;var s=Physics.boxcastBroadphaseExcludingSelf(r,o,r.collidesWithLayers);o=s.bounds;for(var a=s.tempHashSet,c=0;c<a.length;c++){var h=a[c];if(!h.isTrigger){var u=r.collidesWith(h,t);u&&(t=Vector2.subtract(t,u.minimumTranslationVector),u.collider&&(e=u))}}}}return ListPool.free(n),{collisionResult:e,motion:t}},e.prototype.applyMovement=function(t){this.entity.position=Vector2.add(this.entity.position,t),this._triggerHelper&&this._triggerHelper.update()},e.prototype.move=function(t){var e=this.calculateMovement(t),n=e.collisionResult;return t=e.motion,this.applyMovement(t),n},e}(Component),ProjectileMover=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._tempTriggerList=[],e}return __extends(e,t),e.prototype.onAddedToEntity=function(){this._collider=this.entity.getComponent(Collider),this._collider||console.warn("ProjectileMover has no Collider. ProjectilMover requires a Collider!")},e.prototype.move=function(t){if(!this._collider)return!1;var e=!1;this.entity.position=Vector2.add(this.entity.position,t);for(var n=Physics.boxcastBroadphase(this._collider.bounds,this._collider.collidesWithLayers),i=0;i<n.colliders.length;i++){var r=n.colliders[i];this._collider.overlaps(r)&&r.enabled&&(e=!0,this.notifyTriggerListeners(this._collider,r))}return e},e.prototype.notifyTriggerListeners=function(t,e){e.entity.getComponents("ITriggerListener",this._tempTriggerList);for(var n=0;n<this._tempTriggerList.length;n++)this._tempTriggerList[n].onTriggerEnter(t,e);this._tempTriggerList.length=0,this.entity.getComponents("ITriggerListener",this._tempTriggerList);for(n=0;n<this._tempTriggerList.length;n++)this._tempTriggerList[n].onTriggerEnter(e,t);this._tempTriggerList.length=0},e}(Component),Collider=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.physicsLayer=1,e.registeredPhysicsBounds=new Rectangle,e.shouldColliderScaleAndRotateWithTransform=!0,e.collidesWithLayers=Physics.allLayers,e}return __extends(e,t),Object.defineProperty(e.prototype,"bounds",{get:function(){var t=this.shape.bounds;return new Rectangle(this.entity.x,this.entity.y,t.width,t.height)},enumerable:!0,configurable:!0}),e.prototype.registerColliderWithPhysicsSystem=function(){this._isParentEntityAddedToScene&&!this._isColliderRegistered&&(Physics.addCollider(this),this._isColliderRegistered=!0)},e.prototype.unregisterColliderWithPhysicsSystem=function(){this._isParentEntityAddedToScene&&this._isColliderRegistered&&Physics.removeCollider(this),this._isColliderRegistered=!1},e.prototype.overlaps=function(t){return this.shape.overlaps(t.shape)},e.prototype.collidesWith=function(t,e){var n=this.entity.position;this.entity.position=Vector2.add(this.entity.position,e);var i=this.shape.collidesWithShape(t.shape);return i&&(i.collider=t),this.entity.position=n,i},e.prototype.onAddedToEntity=function(){if(this._colliderRequiresAutoSizing){this instanceof BoxCollider||this instanceof CircleCollider||console.error("Only box and circle colliders can be created automatically");var t=this.entity.getComponent(RenderableComponent);if(t){var e=t.bounds,n=e.width/this.entity.scale.x,i=e.height/this.entity.scale.y;if(this instanceof CircleCollider){this.radius=.5*Math.max(n,i)}else this.width=n,this.height=i;this.addChild(this.shape)}else console.warn("Collider has no shape and no RenderableComponent. Can't figure out how to size it.")}this._isParentEntityAddedToScene=!0,this.registerColliderWithPhysicsSystem()},e.prototype.onRemovedFromEntity=function(){this.unregisterColliderWithPhysicsSystem(),this._isParentEntityAddedToScene=!1,this.removeChild(this.shape)},e.prototype.onEnabled=function(){this.registerColliderWithPhysicsSystem()},e.prototype.onDisabled=function(){this.unregisterColliderWithPhysicsSystem()},e.prototype.onEntityTransformChanged=function(t){this._isColliderRegistered&&Physics.updateCollider(this)},e.prototype.update=function(){var t=this.entity.getComponent(RenderableComponent);t&&(this.$setX(t.x),this.$setY(t.y))},e}(Component),BoxCollider=function(t){function e(){var e=t.call(this)||this;return e.shape=new Box(1,1),e._colliderRequiresAutoSizing=!0,e}return __extends(e,t),Object.defineProperty(e.prototype,"width",{get:function(){return this.shape.width},set:function(t){this.setWidth(t)},enumerable:!0,configurable:!0}),e.prototype.setWidth=function(t){this._colliderRequiresAutoSizing=!1;var e=this.shape;return t!=e.width&&(e.updateBox(t,e.height),this.entity&&this._isParentEntityAddedToScene&&Physics.updateCollider(this)),this},Object.defineProperty(e.prototype,"height",{get:function(){return this.shape.height},set:function(t){this.setHeight(t)},enumerable:!0,configurable:!0}),e.prototype.setHeight=function(t){this._colliderRequiresAutoSizing=!1;var e=this.shape;t!=e.height&&(e.updateBox(e.width,t),this.entity&&this._isParentEntityAddedToScene&&Physics.updateCollider(this))},e.prototype.setSize=function(t,e){this._colliderRequiresAutoSizing=!1;var n=this.shape;return t==n.width&&e==n.height||(n.updateBox(t,e),this.entity&&this._isParentEntityAddedToScene&&Physics.updateCollider(this)),this},e}(Collider),CircleCollider=function(t){function e(e){var n=t.call(this)||this;return e&&(n._colliderRequiresAutoSizing=!0),n.shape=new Circle(e||1),n}return __extends(e,t),Object.defineProperty(e.prototype,"radius",{get:function(){return this.shape.radius},set:function(t){this.setRadius(t)},enumerable:!0,configurable:!0}),e.prototype.setRadius=function(t){this._colliderRequiresAutoSizing=!1;var e=this.shape;return t!=e.radius&&(e.radius=t,e._originalRadius=t,this.entity&&this._isParentEntityAddedToScene&&Physics.updateCollider(this)),this},e}(Collider),PolygonCollider=function(t){function e(e){var n=t.call(this)||this;return e[0]==e[e.length-1]&&e.splice(e.length-1,1),Polygon.recenterPolygonVerts(e),n.shape=new Polygon(e),n}return __extends(e,t),e}(Collider),EntitySystem=function(){function t(t){this._entities=[],this._matcher=t||Matcher.empty()}return Object.defineProperty(t.prototype,"matcher",{get:function(){return this._matcher},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scene",{get:function(){return this._scene},set:function(t){this._scene=t,this._entities=[]},enumerable:!0,configurable:!0}),t.prototype.initialize=function(){},t.prototype.onChanged=function(t){var e=this._entities.contains(t),n=this._matcher.IsIntersted(t);n&&!e?this.add(t):!n&&e&&this.remove(t)},t.prototype.add=function(t){this._entities.push(t),this.onAdded(t)},t.prototype.onAdded=function(t){},t.prototype.remove=function(t){this._entities.remove(t),this.onRemoved(t)},t.prototype.onRemoved=function(t){},t.prototype.update=function(){this.begin(),this.process(this._entities)},t.prototype.lateUpdate=function(){this.lateProcess(this._entities),this.end()},t.prototype.begin=function(){},t.prototype.process=function(t){},t.prototype.lateProcess=function(t){},t.prototype.end=function(){},t}(),EntityProcessingSystem=function(t){function e(e){return t.call(this,e)||this}return __extends(e,t),e.prototype.lateProcessEntity=function(t){},e.prototype.process=function(t){var e=this;t.forEach(function(t){return e.processEntity(t)})},e.prototype.lateProcess=function(t){var e=this;t.forEach(function(t){return e.lateProcessEntity(t)})},e}(EntitySystem),PassiveSystem=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.onChanged=function(t){},e.prototype.process=function(t){this.begin(),this.end()},e}(EntitySystem),ProcessingSystem=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.onChanged=function(t){},e.prototype.process=function(t){this.begin(),this.processSystem(),this.end()},e}(EntitySystem),BitSet=function(){function t(e){void 0===e&&(e=64);var n=e>>6;0!=(e&t.LONG_MASK)&&n++,this._bits=new Array(n)}return t.prototype.and=function(t){for(var e,n=Math.min(this._bits.length,t._bits.length),i=0;i<n;++i)this._bits[i]&=t._bits[i];for(;e<this._bits.length;)this._bits[e++]=0},t.prototype.andNot=function(t){for(var e=Math.min(this._bits.length,t._bits.length);--e>=0;)this._bits[e]&=~t._bits[e]},t.prototype.cardinality=function(){for(var t=0,e=this._bits.length-1;e>=0;e--){var n=this._bits[e];if(0!=n)if(-1!=n){var i=((n=((n=(n>>1&0x5555555555555400)+(0x5555555555555400&n))>>2&0x3333333333333400)+(0x3333333333333400&n))>>32)+n;t+=((i=((i=(i>>4&252645135)+(252645135&i))>>8&16711935)+(16711935&i))>>16&65535)+(65535&i)}else t+=64}return t},t.prototype.clear=function(t){if(null!=t){var e=t>>6;this.ensure(e),this._bits[e]&=~(1<<t)}else for(var n=0;n<this._bits.length;n++)this._bits[n]=0},t.prototype.ensure=function(t){if(t>=this._bits.length){var e=new Number[t+1];e=this._bits.copyWithin(0,0,this._bits.length),this._bits=e}},t.prototype.get=function(t){var e=t>>6;return!(e>=this._bits.length)&&0!=(this._bits[e]&1<<t)},t.prototype.intersects=function(t){for(var e=Math.min(this._bits.length,t._bits.length);--e>=0;)if(0!=(this._bits[e]&t._bits[e]))return!0;return!1},t.prototype.isEmpty=function(){for(var t=this._bits.length-1;t>=0;t--)if(this._bits[t])return!1;return!0},t.prototype.nextSetBit=function(t){for(var e=t>>6,n=1<<t;e<this._bits.length;){var i=this._bits[e];do{if(0!=(i&n))return t;n<<=1,t++}while(0!=n);n=1,e++}return-1},t.prototype.set=function(t,e){if(void 0===e&&(e=!0),e){var n=t>>6;this.ensure(n),this._bits[n]|=1<<t}else this.clear(t)},t.LONG_MASK=63,t}(),ComponentList=function(){function t(t){this._components=[],this._componentsToAdd=[],this._componentsToRemove=[],this._tempBufferList=[],this._entity=t}return Object.defineProperty(t.prototype,"count",{get:function(){return this._components.length},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"buffer",{get:function(){return this._components},enumerable:!0,configurable:!0}),t.prototype.add=function(t){this._componentsToAdd.push(t)},t.prototype.remove=function(t){this._componentsToRemove.contains(t)&&console.warn("You are trying to remove a Component ("+t+") that you already removed"),this._componentsToAdd.contains(t)?this._componentsToAdd.remove(t):this._componentsToRemove.push(t)},t.prototype.removeAllComponents=function(){for(var t=0;t<this._components.length;t++)this.handleRemove(this._components[t]);this._components.length=0,this._componentsToAdd.length=0,this._componentsToRemove.length=0},t.prototype.deregisterAllComponents=function(){for(var t=0;t<this._components.length;t++){var e=this._components[t];e instanceof RenderableComponent&&this._entity.scene.renderableComponents.remove(e),this._entity.componentBits.set(ComponentTypeManager.getIndexFor(e),!1),this._entity.scene.entityProcessors.onComponentRemoved(this._entity)}},t.prototype.registerAllComponents=function(){for(var t=0;t<this._components.length;t++){var e=this._components[t];e instanceof RenderableComponent&&this._entity.scene.renderableComponents.add(e),this._entity.componentBits.set(ComponentTypeManager.getIndexFor(e)),this._entity.scene.entityProcessors.onComponentAdded(this._entity)}},t.prototype.updateLists=function(){if(this._componentsToRemove.length>0){for(var t=0;t<this._componentsToRemove.length;t++)this.handleRemove(this._componentsToRemove[t]),this._components.remove(this._componentsToRemove[t]);this._componentsToRemove.length=0}if(this._componentsToAdd.length>0){t=0;for(var e=this._componentsToAdd.length;t<e;t++){(n=this._componentsToAdd[t])instanceof RenderableComponent&&this._entity.scene.renderableComponents.add(n),this._entity.componentBits.set(ComponentTypeManager.getIndexFor(n)),this._entity.scene.entityProcessors.onComponentAdded(this._entity),this._components.push(n),this._tempBufferList.push(n)}this._componentsToAdd.length=0;for(t=0;t<this._tempBufferList.length;t++){var n;(n=this._tempBufferList[t]).onAddedToEntity(),n.enabled&&n.onEnabled()}this._tempBufferList.length=0}},t.prototype.onEntityTransformChanged=function(t){for(var e=0;e<this._components.length;e++)this._components[e].enabled&&this._components[e].onEntityTransformChanged(t);for(e=0;e<this._componentsToAdd.length;e++)this._componentsToAdd[e].enabled&&this._componentsToAdd[e].onEntityTransformChanged(t)},t.prototype.handleRemove=function(t){t instanceof RenderableComponent&&this._entity.scene.renderableComponents.remove(t),this._entity.componentBits.set(ComponentTypeManager.getIndexFor(t),!1),this._entity.scene.entityProcessors.onComponentRemoved(this._entity),t.onRemovedFromEntity(),t.entity=null},t.prototype.getComponent=function(t,e){for(var n=0;n<this._components.length;n++){if((i=this._components[n])instanceof t)return i}if(!e)for(n=0;n<this._componentsToAdd.length;n++){var i;if((i=this._componentsToAdd[n])instanceof t)return i}return null},t.prototype.getComponents=function(t,e){e||(e=[]);for(var n=0;n<this._components.length;n++){var i=this._components[n];"string"==typeof t?egret.is(i,t)&&e.push(i):i instanceof t&&e.push(i)}for(n=0;n<this._componentsToAdd.length;n++){i=this._componentsToAdd[n];"string"==typeof t?egret.is(i,t)&&e.push(i):i instanceof t&&e.push(i)}return e},t.prototype.update=function(){this.updateLists();for(var t=0;t<this._components.length;t++){var e=this._components[t],n=void 0;e instanceof Component&&(n=e),e.enabled&&n.enabled&&(1==n.updateInterval||Time.frameCount%n.updateInterval==0)&&e.update()}},t}(),ComponentTypeManager=function(){function t(){}return t.add=function(t){this._componentTypesMask.has(t)||(this._componentTypesMask[t]=this._componentTypesMask.size)},t.getIndexFor=function(t){var e=-1;return this._componentTypesMask.has(t)||(this.add(t),e=this._componentTypesMask.get(t)),e},t._componentTypesMask=new Map,t}(),EntityList=function(){function t(t){this._entitiesToRemove=[],this._entitiesToAdded=[],this._tempEntityList=[],this._entities=[],this._entityDict=new Map,this._unsortedTags=[],this.scene=t}return Object.defineProperty(t.prototype,"count",{get:function(){return this._entities.length},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"buffer",{get:function(){return this._entities},enumerable:!0,configurable:!0}),t.prototype.add=function(t){-1==this._entitiesToAdded.indexOf(t)&&this._entitiesToAdded.push(t)},t.prototype.remove=function(t){this._entitiesToAdded.contains(t)?this._entitiesToAdded.remove(t):this._entitiesToRemove.contains(t)||this._entitiesToRemove.push(t)},t.prototype.findEntity=function(t){for(var e=0;e<this._entities.length;e++)if(this._entities[e].name==t)return this._entities[e];return this._entitiesToAdded.firstOrDefault(function(e){return e.name==t})},t.prototype.getTagList=function(t){var e=this._entityDict.get(t);return e||(e=[],this._entityDict.set(t,e)),this._entityDict.get(t)},t.prototype.addToTagList=function(t){var e=this.getTagList(t.tag);e.contains(t)||(e.push(t),this._unsortedTags.push(t.tag))},t.prototype.removeFromTagList=function(t){var e=this._entityDict.get(t.tag);e&&e.remove(t)},t.prototype.update=function(){for(var t=0;t<this._entities.length;t++){var e=this._entities[t];e.enabled&&e.update()}},t.prototype.removeAllEntities=function(){this._entitiesToAdded.length=0,this.updateLists();for(var t=0;t<this._entities.length;t++)this._entities[t]._isDestoryed=!0,this._entities[t].onRemovedFromScene(),this._entities[t].scene=null;this._entities.length=0,this._entityDict.clear()},t.prototype.updateLists=function(){var t=this;if(this._entitiesToRemove.length>0){var e=this._entitiesToRemove;this._entitiesToRemove=this._tempEntityList,this._tempEntityList=e,this._tempEntityList.forEach(function(e){t._entities.remove(e),e.scene=null,t.scene.entityProcessors.onEntityRemoved(e)}),this._tempEntityList.length=0}if(this._entitiesToAdded.length>0){e=this._entitiesToAdded;this._entitiesToAdded=this._tempEntityList,this._tempEntityList=e,this._tempEntityList.forEach(function(e){t._entities.contains(e)||(t._entities.push(e),e.scene=t.scene,t.scene.entityProcessors.onEntityAdded(e))}),this._tempEntityList.forEach(function(t){return t.onAddedToScene()}),this._tempEntityList.length=0}this._unsortedTags.length>0&&(this._unsortedTags.forEach(function(e){t._entityDict.get(e).sort()}),this._unsortedTags.length=0)},t}(),EntityProcessorList=function(){function t(){this._processors=[]}return t.prototype.add=function(t){this._processors.push(t)},t.prototype.remove=function(t){this._processors.remove(t)},t.prototype.onComponentAdded=function(t){this.notifyEntityChanged(t)},t.prototype.onComponentRemoved=function(t){this.notifyEntityChanged(t)},t.prototype.onEntityAdded=function(t){this.notifyEntityChanged(t)},t.prototype.onEntityRemoved=function(t){this.removeFromProcessors(t)},t.prototype.notifyEntityChanged=function(t){for(var e=0;e<this._processors.length;e++)this._processors[e].onChanged(t)},t.prototype.removeFromProcessors=function(t){for(var e=0;e<this._processors.length;e++)this._processors[e].remove(t)},t.prototype.begin=function(){},t.prototype.update=function(){for(var t=0;t<this._processors.length;t++)this._processors[t].update()},t.prototype.lateUpdate=function(){for(var t=0;t<this._processors.length;t++)this._processors[t].lateUpdate()},t.prototype.end=function(){},t.prototype.getProcessor=function(){for(var t=0;t<this._processors.length;t++){var e=this._processors[t];if(e instanceof EntitySystem)return e}return null},t}(),Matcher=function(){function t(){this.allSet=new BitSet,this.exclusionSet=new BitSet,this.oneSet=new BitSet}return t.empty=function(){return new t},t.prototype.getAllSet=function(){return this.allSet},t.prototype.getExclusionSet=function(){return this.exclusionSet},t.prototype.getOneSet=function(){return this.oneSet},t.prototype.IsIntersted=function(t){if(!this.allSet.isEmpty())for(var e=this.allSet.nextSetBit(0);e>=0;e=this.allSet.nextSetBit(e+1))if(!t.componentBits.get(e))return!1;return!(!this.exclusionSet.isEmpty()&&this.exclusionSet.intersects(t.componentBits))&&!(!this.oneSet.isEmpty()&&!this.oneSet.intersects(t.componentBits))},t.prototype.all=function(){for(var t=this,e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return e.forEach(function(e){t.allSet.set(ComponentTypeManager.getIndexFor(e))}),this},t.prototype.exclude=function(){for(var t=this,e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return e.forEach(function(e){t.exclusionSet.set(ComponentTypeManager.getIndexFor(e))}),this},t.prototype.one=function(){for(var t=this,e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return e.forEach(function(e){t.oneSet.set(ComponentTypeManager.getIndexFor(e))}),this},t}(),ObjectUtils=function(){function t(){}return t.clone=function(t,e){void 0===e&&(e=null);e=e||{};for(var n in t)"object"==typeof t[n]?(e[n]=t[n]instanceof Array?[]:{},this.clone(t[n],e[n])):e[n]=t[n];return e},t}(),RenderableComponentList=function(){function t(){this._components=[]}return Object.defineProperty(t.prototype,"count",{get:function(){return this._components.length},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"buffer",{get:function(){return this._components},enumerable:!0,configurable:!0}),t.prototype.add=function(t){this._components.push(t)},t.prototype.remove=function(t){this._components.remove(t)},t.prototype.updateList=function(){},t}(),StringUtils=function(){function t(){}return t.matchChineseWord=function(t){return t.match(/[\u4E00-\u9FA5]+/gim)},t.lTrim=function(t){for(var e=0;this.isWhiteSpace(t.charAt(e));)e++;return t.slice(e,t.length)},t.rTrim=function(t){for(var e=t.length-1;this.isWhiteSpace(t.charAt(e));)e--;return t.slice(0,e+1)},t.trim=function(t){return null==t?null:this.rTrim(this.lTrim(t))},t.isWhiteSpace=function(t){return" "==t||"\t"==t||"\r"==t||"\n"==t},t.replaceMatch=function(t,e,n,i){void 0===i&&(i=!1);for(var r=t.length,o="",s=!1,a=1==i?e.toLowerCase():e,c=0;c<r;c++)s=!1,t.charAt(c)==a.charAt(0)&&t.substr(c,a.length)==a&&(s=!0),s?(o+=n,c=c+a.length-1):o+=t.charAt(c);return o},t.htmlSpecialChars=function(t,e){void 0===e&&(e=!1);for(var n=this.specialSigns.length,i=0;i<n;i+=2){var r=void 0,o=void 0;if(r=this.specialSigns[i],o=this.specialSigns[i+1],e){var s=r;r=o,o=s}t=this.replaceMatch(t,r,o)}return t},t.zfill=function(t,e){if(void 0===e&&(e=2),!t)return t;e=Math.floor(e);var n=t.length;if(n>=e)return t;var i=!1;"-"==t.substr(0,1)&&(i=!0,t=t.substr(1));for(var r=e-n,o=0;o<r;o++)t="0"+t;return i&&(t="-"+t),t},t.reverse=function(t){return t.length>1?this.reverse(t.substring(1))+t.substring(0,1):t},t.cutOff=function(t,e,n,i){void 0===i&&(i=!0),e=Math.floor(e),n=Math.floor(n);var r=t.length;e>r&&(e=r);var o,s=e,a=e+n;return i?o=t.substring(0,s)+t.substr(a,r):(a=(s=r-1-e-n)+n,o=t.substring(0,s+1)+t.substr(a+1,r)),o},t.strReplace=function(t,e){for(var n=0,i=e.length;n<i;n++)null!=e[n]&&""!=e[n]||(e[n]="无"),t=t.replace("{"+n+"}",e[n]);return t},t.specialSigns=["&","&","<","<",">",">",'"',""","'","'","®","®","©","©","™","™"],t}(),TextureUtils=function(){function t(){}return t.convertImageToCanvas=function(t,e){this.sharedCanvas||(this.sharedCanvas=egret.sys.createCanvas(),this.sharedContext=this.sharedCanvas.getContext("2d"));var n=t.$getTextureWidth(),i=t.$getTextureHeight();e||((e=egret.$TempRectangle).x=0,e.y=0,e.width=n,e.height=i),e.x=Math.min(e.x,n-1),e.y=Math.min(e.y,i-1),e.width=Math.min(e.width,n-e.x),e.height=Math.min(e.height,i-e.y);var r=Math.floor(e.width),o=Math.floor(e.height),s=this.sharedCanvas;if(s.style.width=r+"px",s.style.height=o+"px",this.sharedCanvas.width=r,this.sharedCanvas.height=o,"webgl"==egret.Capabilities.renderMode){var a=void 0;t.$renderBuffer?a=t:(egret.sys.systemRenderer.renderClear&&egret.sys.systemRenderer.renderClear(),(a=new egret.RenderTexture).drawToTexture(new egret.Bitmap(t)));for(var c=a.$renderBuffer.getPixels(e.x,e.y,r,o),h=0,u=0,l=0;l<c.length;l+=4)this.sharedContext.fillStyle="rgba("+c[l]+","+c[l+1]+","+c[l+2]+","+c[l+3]/255+")",this.sharedContext.fillRect(h,u,1,1),++h==r&&(h=0,u++);return t.$renderBuffer||a.dispose(),s}var p=t,d=Math.round(p.$offsetX),f=Math.round(p.$offsetY),g=p.$bitmapWidth,m=p.$bitmapHeight,y=SceneManager.stage.textureScaleFactor;return this.sharedContext.drawImage(p.$bitmapData.source,p.$bitmapX+e.x/y,p.$bitmapY+e.y/y,g*e.width/n,m*e.height/i,d,f,e.width,e.height),s},t.toDataURL=function(t,e,n,i){try{return this.convertImageToCanvas(e,n).toDataURL(t,i)}catch(t){egret.$error(1033)}return null},t.eliFoTevas=function(t,e,n,i,r){var o=this.convertImageToCanvas(e,i).toTempFilePathSync({fileType:t.indexOf("png")>=0?"png":"jpg"});return wx.getFileSystemManager().saveFile({tempFilePath:o,filePath:wx.env.USER_DATA_PATH+"/"+n,success:function(t){}}),o},t.getPixel32=function(t,e,n){return egret.$warn(1041,"getPixel32","getPixels"),t.getPixels(e,n)},t.getPixels=function(t,e,n,i,r){if(void 0===i&&(i=1),void 0===r&&(r=1),"webgl"==egret.Capabilities.renderMode){var o=void 0;return t.$renderBuffer?o=t:(o=new egret.RenderTexture).drawToTexture(new egret.Bitmap(t)),o.$renderBuffer.getPixels(e,n,i,r)}try{this.convertImageToCanvas(t);return this.sharedContext.getImageData(e,n,i,r).data}catch(t){egret.$error(1039)}},t}(),Time=function(){function t(){}return t.update=function(t){var e=(t-this._lastTime)/1e3;this.deltaTime=e*this.timeScale,this.unscaledDeltaTime=e,this._timeSinceSceneLoad+=e,this.frameCount++,this._lastTime=t},t.sceneChanged=function(){this._timeSinceSceneLoad=0},t.checkEvery=function(t){return this._timeSinceSceneLoad/t>(this._timeSinceSceneLoad-this.deltaTime)/t},t.deltaTime=0,t.timeScale=1,t.frameCount=0,t._lastTime=0,t}(),TimeUtils=function(){function t(){}return t.monthId=function(t){void 0===t&&(t=null);var e=(t=t||new Date).getFullYear(),n=t.getMonth()+1;return parseInt(e+(n<10?"0":"")+n)},t.dateId=function(t){void 0===t&&(t=null);var e=(t=t||new Date).getMonth()+1,n=e<10?"0":"",i=t.getDate(),r=i<10?"0":"";return parseInt(t.getFullYear()+n+e+r+i)},t.weekId=function(t,e){void 0===t&&(t=null),void 0===e&&(e=!0),t=t||new Date;var n=new Date;n.setTime(t.getTime()),n.setDate(1),n.setMonth(0);var i=n.getFullYear(),r=n.getDay();0==r&&(r=7);var o=!1;r<=4?(o=r>1,n.setDate(n.getDate()-(r-1))):n.setDate(n.getDate()+7-r+1);var s=this.diffDay(t,n,!1);if(s<0)return n.setDate(1),n.setMonth(0),n.setDate(n.getDate()-1),this.weekId(n,!1);var a=s/7,c=Math.floor(a)+1;if(53==c){n.setTime(t.getTime()),n.setDate(n.getDate()-1);var h=n.getDay();if(0==h&&(h=7),e&&(!o||h<4))return n.setFullYear(n.getFullYear()+1),n.setDate(1),n.setMonth(0),this.weekId(n,!1)}return parseInt(i+"00"+(c>9?"":"0")+c)},t.diffDay=function(t,e,n){void 0===n&&(n=!1);var i=(t.getTime()-e.getTime())/864e5;return n?Math.ceil(i):Math.floor(i)},t.getFirstDayOfWeek=function(t){var e=(t=t||new Date).getDay()||7;return new Date(t.getFullYear(),t.getMonth(),t.getDate()+1-e,0,0,0,0)},t.getFirstOfDay=function(t){return(t=t||new Date).setHours(0,0,0,0),t},t.getNextFirstOfDay=function(t){return new Date(this.getFirstOfDay(t).getTime()+864e5)},t.formatDate=function(t){var e=t.getFullYear(),n=t.getMonth()+1;n=n<10?"0"+n:n;var i=t.getDate();return e+"-"+n+"-"+(i=i<10?"0"+i:i)},t.formatDateTime=function(t){var e=t.getFullYear(),n=t.getMonth()+1;n=n<10?"0"+n:n;var i=t.getDate();i=i<10?"0"+i:i;var r=t.getHours(),o=t.getMinutes();o=o<10?"0"+o:o;var s=t.getSeconds();return e+"-"+n+"-"+i+" "+r+":"+o+":"+(s=s<10?"0"+s:s)},t.parseDate=function(t){var e=Date.parse(t);return isNaN(e)?new Date:new Date(Date.parse(t.replace(/-/g,"/")))},t.secondToTime=function(t,e,n){void 0===t&&(t=0),void 0===e&&(e=":"),void 0===n&&(n=!0);var i=Math.floor(t/3600),r=Math.floor(t%3600/60),o=Math.floor(t%3600%60),s=i.toString(),a=r.toString(),c=o.toString();return i<10&&(s="0"+s),r<10&&(a="0"+a),o<10&&(c="0"+c),n?s+e+a+e+c:a+e+c},t.timeToMillisecond=function(t,e){void 0===e&&(e=":");for(var n=t.split(e),i=0,r=n.length,o=0;o<r;o++){i+=n[o]*Math.pow(60,r-1-o)}return(i*=1e3).toString()},t}(),GraphicsCapabilities=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.initialize=function(t){this.platformInitialize(t)},e.prototype.platformInitialize=function(t){this.isMobile=!0;var e=wx.getSystemInfoSync(),n=e.system.toLowerCase();n.indexOf("ios")>-1?this.os="iOS":n.indexOf("android")>-1&&(this.os="Android");var i=e.language;i=i.indexOf("zh")>-1?"zh-CN":"en-US",this.language=i},e}(egret.Capabilities),GraphicsDevice=function(){return function(){this.graphicsCapabilities=new GraphicsCapabilities,this.graphicsCapabilities.initialize(this)}}(),Viewport=function(){function t(t,e,n,i){this._x=t,this._y=e,this._width=n,this._height=i,this._minDepth=0,this._maxDepth=1}return Object.defineProperty(t.prototype,"aspectRatio",{get:function(){return 0!=this._height&&0!=this._width?this._width/this._height:0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"bounds",{get:function(){return new Rectangle(this._x,this._y,this._width,this._height)},set:function(t){this._x=t.x,this._y=t.y,this._width=t.width,this._height=t.height},enumerable:!0,configurable:!0}),t}(),GaussianBlurEffect=function(t){function e(){return t.call(this,PostProcessor.default_vert,e.blur_frag,{screenWidth:SceneManager.stage.stageWidth,screenHeight:SceneManager.stage.stageHeight})||this}return __extends(e,t),e.blur_frag="precision mediump float;\nuniform sampler2D uSampler;\nuniform float screenWidth;\nuniform float screenHeight;\nfloat normpdf(in float x, in float sigma)\n{\nreturn 0.39894*exp(-0.5*x*x/(sigma*sigma))/sigma;\n}\nvoid main()\n{\nvec3 c = texture2D(uSampler, gl_FragCoord.xy / vec2(screenWidth, screenHeight).xy).rgb;\nconst int mSize = 11;\nconst int kSize = (mSize - 1)/2;\nfloat kernel[mSize];\nvec3 final_colour = vec3(0.0);\nfloat sigma = 7.0;\nfloat z = 0.0;\nfor (int j = 0; j <= kSize; ++j)\n{\nkernel[kSize+j] = kernel[kSize-j] = normpdf(float(j),sigma);\n}\nfor (int j = 0; j < mSize; ++j)\n{\nz += kernel[j];\n}\nfor (int i = -kSize; i <= kSize; ++i)\n{\nfor (int j = -kSize; j <= kSize; ++j)\n{\nfinal_colour += kernel[kSize+j]*kernel[kSize+i]*texture2D(uSampler, (gl_FragCoord.xy+vec2(float(i),float(j))) / vec2(screenWidth, screenHeight).xy).rgb;\n}\n}\ngl_FragColor = vec4(final_colour/(z*z), 1.0);\n}",e}(egret.CustomFilter),PolygonLightEffect=function(t){function e(){return t.call(this,e.vertSrc,e.fragmentSrc)||this}return __extends(e,t),e.vertSrc="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\nuniform vec2 projectionVector;\nvarying vec2 vTextureCoord;\nconst vec2 center = vec2(-1.0, 1.0);\nvoid main(void) {\n gl_Position = vec4( (aVertexPosition / projectionVector) + center , 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",e.fragmentSrc="precision lowp float;\nvarying vec2 vTextureCoord;\nuniform sampler2D uSampler;\n#define SAMPLE_COUNT 15\nuniform vec2 _sampleOffsets[SAMPLE_COUNT];\nuniform float _sampleWeights[SAMPLE_COUNT];\nvoid main(void) {\nvec4 c = vec4(0, 0, 0, 0);\nfor( int i = 0; i < SAMPLE_COUNT; i++ )\n c += texture2D( uSampler, vTextureCoord + _sampleOffsets[i] ) * _sampleWeights[i];\ngl_FragColor = c;\n}",e}(egret.CustomFilter),PostProcessor=function(){function t(t){void 0===t&&(t=null),this.enabled=!0,this.effect=t}return t.prototype.onAddedToScene=function(t){this.scene=t,this.shape=new egret.Shape,this.shape.graphics.beginFill(16777215,1),this.shape.graphics.drawRect(0,0,SceneManager.stage.stageWidth,SceneManager.stage.stageHeight),this.shape.graphics.endFill(),t.addChild(this.shape)},t.prototype.process=function(){this.drawFullscreenQuad()},t.prototype.onSceneBackBufferSizeChanged=function(t, e){},t.prototype.drawFullscreenQuad=function(){this.scene.filters=[this.effect]},t.prototype.unload=function(){this.effect&&(this.effect=null),this.scene.removeChild(this.shape),this.scene=null},t.default_vert="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\nattribute vec2 aColor;\nuniform vec2 projectionVector;\nvarying vec2 vTextureCoord;\nvarying vec4 vColor;\nconst vec2 center = vec2(-1.0, 1.0);\nvoid main(void) {\ngl_Position = vec4( (aVertexPosition / projectionVector) + center , 0.0, 1.0);\nvTextureCoord = aTextureCoord;\nvColor = vec4(aColor.x, aColor.x, aColor.x, aColor.x);\n}",t}(),GaussianBlurPostProcessor=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.onAddedToScene=function(e){t.prototype.onAddedToScene.call(this,e),this.effect=new GaussianBlurEffect},e}(PostProcessor),Renderer=function(){function t(){}return t.prototype.onAddedToScene=function(t){},t.prototype.beginRender=function(t){},t.prototype.unload=function(){},t.prototype.renderAfterStateCheck=function(t,e){t.render(e)},t}(),DefaultRenderer=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.render=function(t){var e=this.camera?this.camera:t.camera;this.beginRender(e);for(var n=0;n<t.renderableComponents.count;n++){var i=t.renderableComponents.buffer[n];i.enabled&&i.isVisibleFromCamera(e)&&this.renderAfterStateCheck(i,e)}},e}(Renderer),ScreenSpaceRenderer=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.render=function(t){},e}(Renderer),PolyLight=function(t){function e(e,n,i){var r=t.call(this)||this;return r._indices=[],r.radius=e,r.power=i,r.color=n,r.computeTriangleIndices(),r}return __extends(e,t),Object.defineProperty(e.prototype,"radius",{get:function(){return this._radius},set:function(t){this.setRadius(t)},enumerable:!0,configurable:!0}),e.prototype.computeTriangleIndices=function(t){void 0===t&&(t=20),this._indices.length=0;for(var e=0;e<t;e+=2)this._indices.push(0),this._indices.push(e+2),this._indices.push(e+1)},e.prototype.setRadius=function(t){t!=this._radius&&(this._radius=t,this._areBoundsDirty=!0)},e.prototype.render=function(t){},e.prototype.reset=function(){},e}(RenderableComponent),SceneTransition=function(){function t(t){this.sceneLoadAction=t,this.loadsNewScene=null!=t}return Object.defineProperty(t.prototype,"hasPreviousSceneRender",{get:function(){return!!this._hasPreviousSceneRender||(this._hasPreviousSceneRender=!0,!1)},enumerable:!0,configurable:!0}),t.prototype.preRender=function(){},t.prototype.render=function(){},t.prototype.onBeginTransition=function(){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(t){switch(t.label){case 0:return[4,this.loadNextScene()];case 1:return t.sent(),this.transitionComplete(),[2]}})})},t.prototype.transitionComplete=function(){SceneManager.sceneTransition=null,this.onTransitionCompleted&&this.onTransitionCompleted()},t.prototype.loadNextScene=function(){return __awaiter(this,void 0,void 0,function(){var t;return __generator(this,function(e){switch(e.label){case 0:return this.onScreenObscured&&this.onScreenObscured(),this.loadsNewScene||(this.isNewSceneLoaded=!0),t=SceneManager,[4,this.sceneLoadAction()];case 1:return t.scene=e.sent(),this.isNewSceneLoaded=!0,[2]}})})},t.prototype.tickEffectProgressProperty=function(t,e,n,i){return void 0===i&&(i=!1),new Promise(function(r){var o=i?1:0,s=i?0:1;egret.Tween.get(t.uniforms).set({_progress:o}).to({_progress:s},1e3*e,n).call(function(){r()})})},t}(),FadeTransition=function(t){function e(e){var n=t.call(this,e)||this;return n.fadeToColor=0,n.fadeOutDuration=.4,n.fadeEaseType=egret.Ease.quadInOut,n.delayBeforeFadeInDuration=.1,n._alpha=0,n._mask=new egret.Shape,n}return __extends(e,t),e.prototype.onBeginTransition=function(){return __awaiter(this,void 0,void 0,function(){var t=this;return __generator(this,function(e){return this._mask.graphics.beginFill(this.fadeToColor,1),this._mask.graphics.drawRect(0,0,SceneManager.stage.stageWidth,SceneManager.stage.stageHeight),this._mask.graphics.endFill(),SceneManager.stage.addChild(this._mask),egret.Tween.get(this).to({_alpha:1},1e3*this.fadeOutDuration,this.fadeEaseType).call(function(){return __awaiter(t,void 0,void 0,function(){return __generator(this,function(t){switch(t.label){case 0:return[4,this.loadNextScene()];case 1:return t.sent(),[2]}})})}).wait(this.delayBeforeFadeInDuration).call(function(){egret.Tween.get(t).to({_alpha:0},1e3*t.fadeOutDuration,t.fadeEaseType).call(function(){t.transitionComplete(),SceneManager.stage.removeChild(t._mask)})}),[2]})})},e.prototype.render=function(){this._mask.graphics.clear(),this._mask.graphics.beginFill(this.fadeToColor,this._alpha),this._mask.graphics.drawRect(0,0,SceneManager.stage.stageWidth,SceneManager.stage.stageHeight),this._mask.graphics.endFill()},e}(SceneTransition),WindTransition=function(t){function e(e){var n=t.call(this,e)||this;n.duration=1,n.easeType=egret.Ease.quadOut;return n._windEffect=new egret.CustomFilter("attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\nuniform vec2 projectionVector;\nvarying vec2 vTextureCoord;\nconst vec2 center = vec2(-1.0, 1.0);\nvoid main(void) {\n gl_Position = vec4( (aVertexPosition / projectionVector) + center , 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}","precision lowp float;\nvarying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform float _progress;\nuniform float _size;\nuniform float _windSegments;\nvoid main(void) {\nvec2 co = floor(vec2(0.0, vTextureCoord.y * _windSegments));\nfloat x = sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453;\nfloat r = x - floor(x);\nfloat m = smoothstep(0.0, -_size, vTextureCoord.x * (1.0 - _size) + _size * r - (_progress * (1.0 + _size)));\nvec4 fg = texture2D(uSampler, vTextureCoord);\ngl_FragColor = mix(fg, vec4(0, 0, 0, 0), m);\n}",{_progress:0,_size:.3,_windSegments:100}),n._mask=new egret.Shape,n._mask.graphics.beginFill(16777215,1),n._mask.graphics.drawRect(0,0,SceneManager.stage.stageWidth,SceneManager.stage.stageHeight),n._mask.graphics.endFill(),n._mask.filters=[n._windEffect],SceneManager.stage.addChild(n._mask),n}return __extends(e,t),Object.defineProperty(e.prototype,"windSegments",{set:function(t){this._windEffect.uniforms._windSegments=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"size",{set:function(t){this._windEffect.uniforms._size=t},enumerable:!0,configurable:!0}),e.prototype.onBeginTransition=function(){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(t){switch(t.label){case 0:return this.loadNextScene(),[4,this.tickEffectProgressProperty(this._windEffect,this.duration,this.easeType)];case 1:return t.sent(),this.transitionComplete(),SceneManager.stage.removeChild(this._mask),[2]}})})},e}(SceneTransition),Bezier=function(){function t(){}return t.getPoint=function(t,e,n,i){var r=1-(i=MathHelper.clamp01(i));return Vector2.add(Vector2.add(Vector2.multiply(new Vector2(r*r),t),Vector2.multiply(new Vector2(2*r*i),e)),Vector2.multiply(new Vector2(i*i),n))},t.getFirstDerivative=function(t,e,n,i){return Vector2.add(Vector2.multiply(new Vector2(2*(1-i)),Vector2.subtract(e,t)),Vector2.multiply(new Vector2(2*i),Vector2.subtract(n,e)))},t.getFirstDerivativeThree=function(t,e,n,i,r){var o=1-(r=MathHelper.clamp01(r));return Vector2.add(Vector2.add(Vector2.multiply(new Vector2(3*o*o),Vector2.subtract(e,t)),Vector2.multiply(new Vector2(6*o*r),Vector2.subtract(n,e))),Vector2.multiply(new Vector2(3*r*r),Vector2.subtract(i,n)))},t.getPointThree=function(t,e,n,i,r){var o=1-(r=MathHelper.clamp01(r));return Vector2.add(Vector2.add(Vector2.add(Vector2.multiply(new Vector2(o*o*o),t),Vector2.multiply(new Vector2(3*o*o*r),e)),Vector2.multiply(new Vector2(3*o*r*r),n)),Vector2.multiply(new Vector2(r*r*r),i))},t.getOptimizedDrawingPoints=function(t,e,n,i,r){void 0===r&&(r=1);var o=ListPool.obtain();return o.push(t),this.recursiveGetOptimizedDrawingPoints(t,e,n,i,o,r),o.push(i),o},t.recursiveGetOptimizedDrawingPoints=function(t,e,n,i,r,o){var s=Vector2.divide(Vector2.add(t,e),new Vector2(2)),a=Vector2.divide(Vector2.add(e,n),new Vector2(2)),c=Vector2.divide(Vector2.add(n,i),new Vector2(2)),h=Vector2.divide(Vector2.add(s,a),new Vector2(2)),u=Vector2.divide(Vector2.add(a,c),new Vector2(2)),l=Vector2.divide(Vector2.add(h,u),new Vector2(2)),p=Vector2.subtract(i,t),d=Math.abs((e.x,i.x*p.y-(e.y-i.y)*p.x)),f=Math.abs((n.x-i.x)*p.y-(n.y-i.y)*p.x);(d+f)*(d+f)<o*(p.x*p.x+p.y*p.y)?r.push(l):(this.recursiveGetOptimizedDrawingPoints(t,s,h,l,r,o),this.recursiveGetOptimizedDrawingPoints(l,u,c,i,r,o))},t}(),Flags=function(){function t(){}return t.isFlagSet=function(t,e){return 0!=(t&e)},t.isUnshiftedFlagSet=function(t,e){return 0!=(t&(e=1<<e))},t.setFlagExclusive=function(t,e){return 1<<e},t.setFlag=function(t,e){return t|1<<e},t.unsetFlag=function(t,e){return t&~(e=1<<e)},t.invertFlags=function(t){return~t},t}(),MathHelper=function(){function t(){}return t.toDegrees=function(t){return 57.29577951308232*t},t.toRadians=function(t){return.017453292519943295*t},t.map=function(t,e,n,i,r){return i+(t-e)*(r-i)/(n-e)},t.lerp=function(t,e,n){return t+(e-t)*n},t.clamp=function(t,e,n){return t<e?e:t>n?n:t},t.pointOnCirlce=function(e,n,i){var r=t.toRadians(i);return new Vector2(Math.cos(r)*r+e.x,Math.sin(r)*r+e.y)},t.isEven=function(t){return t%2==0},t.clamp01=function(t){return t<0?0:t>1?1:t},t.angleBetweenVectors=function(t,e){return Math.atan2(e.y-t.y,e.x-t.x)},t.Epsilon=1e-5,t.Rad2Deg=57.29578,t.Deg2Rad=.0174532924,t}(),Matrix2D=function(){function t(t,e,n,i,r,o){this.m11=0,this.m12=0,this.m21=0,this.m22=0,this.m31=0,this.m32=0,this.m11=t||1,this.m12=e||0,this.m21=n||0,this.m22=i||1,this.m31=r||0,this.m32=o||0}return Object.defineProperty(t,"identity",{get:function(){return t._identity},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"translation",{get:function(){return new Vector2(this.m31,this.m32)},set:function(t){this.m31=t.x,this.m32=t.y},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rotation",{get:function(){return Math.atan2(this.m21,this.m11)},set:function(t){var e=Math.cos(t),n=Math.sin(t);this.m11=e,this.m12=n,this.m21=-n,this.m22=e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rotationDegrees",{get:function(){return MathHelper.toDegrees(this.rotation)},set:function(t){this.rotation=MathHelper.toRadians(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scale",{get:function(){return new Vector2(this.m11,this.m22)},set:function(t){this.m11=t.x,this.m12=t.y},enumerable:!0,configurable:!0}),t.add=function(t,e){return t.m11+=e.m11,t.m12+=e.m12,t.m21+=e.m21,t.m22+=e.m22,t.m31+=e.m31,t.m32+=e.m32,t},t.divide=function(t,e){return t.m11/=e.m11,t.m12/=e.m12,t.m21/=e.m21,t.m22/=e.m22,t.m31/=e.m31,t.m32/=e.m32,t},t.multiply=function(e,n){var i=new t,r=e.m11*n.m11+e.m12*n.m21,o=e.m11*n.m12+e.m12*n.m22,s=e.m21*n.m11+e.m22*n.m21,a=e.m21*n.m12+e.m22*n.m22,c=e.m31*n.m11+e.m32*n.m21+n.m31,h=e.m31*n.m12+e.m32*n.m22+n.m32;return i.m11=r,i.m12=o,i.m21=s,i.m22=a,i.m31=c,i.m32=h,i},t.multiplyTranslation=function(e,n,i){var r=t.createTranslation(n,i);return t.multiply(e,r)},t.prototype.determinant=function(){return this.m11*this.m22-this.m12*this.m21},t.invert=function(e,n){void 0===n&&(n=new t);var i=1/e.determinant();return n.m11=e.m22*i,n.m12=-e.m12*i,n.m21=-e.m21*i,n.m22=e.m11*i,n.m31=(e.m32*e.m21-e.m31*e.m22)*i,n.m32=-(e.m32*e.m11-e.m31*e.m12)*i,n},t.createTranslation=function(e,n){var i=new t;return i.m11=1,i.m12=0,i.m21=0,i.m22=1,i.m31=e,i.m32=n,i},t.createTranslationVector=function(t){return this.createTranslation(t.x,t.y)},t.createRotation=function(e,n){n=new t;var i=Math.cos(e),r=Math.sin(e);return n.m11=i,n.m12=r,n.m21=-r,n.m22=i,n},t.createScale=function(e,n,i){return void 0===i&&(i=new t),i.m11=e,i.m12=0,i.m21=0,i.m22=n,i.m31=0,i.m32=0,i},t.prototype.toEgretMatrix=function(){return new egret.Matrix(this.m11,this.m12,this.m21,this.m22,this.m31,this.m32)},t._identity=new t(1,0,0,1,0,0),t}(),Rectangle=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),Object.defineProperty(e.prototype,"max",{get:function(){return new Vector2(this.right,this.bottom)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"center",{get:function(){return new Vector2(this.x+this.width/2,this.y+this.height/2)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"location",{get:function(){return new Vector2(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"size",{get:function(){return new Vector2(this.width,this.height)},set:function(t){this.width=t.x,this.height=t.y},enumerable:!0,configurable:!0}),e.prototype.intersects=function(t){return t.left<this.right&&this.left<t.right&&t.top<this.bottom&&this.top<t.bottom},e.prototype.containsRect=function(t){return this.x<=t.x&&t.x<this.x+this.width&&this.y<=t.y&&t.y<this.y+this.height},e.prototype.getHalfSize=function(){return new Vector2(.5*this.width,.5*this.height)},e.fromMinMax=function(t,n,i,r){return new e(t,n,i-t,r-n)},e.prototype.getClosestPointOnRectangleBorderToPoint=function(t){var e=Vector2.zero,n=new Vector2;if(n.x=MathHelper.clamp(t.x,this.left,this.right),n.y=MathHelper.clamp(t.y,this.top,this.bottom),this.contains(n.x,n.y)){var i=n.x-this.left,r=this.right-n.x,o=n.y-this.top,s=this.bottom-n.y,a=Math.min(i,r,o,s);a==o?(n.y=this.top,e.y=-1):a==s?(n.y=this.bottom,e.y=1):a==i?(n.x=this.left,e.x=-1):(n.x=this.right,e.x=1)}else n.x==this.left&&(e.x=-1),n.x==this.right&&(e.x=1),n.y==this.top&&(e.y=-1),n.y==this.bottom&&(e.y=1);return{res:n,edgeNormal:e}},e.prototype.getClosestPointOnBoundsToOrigin=function(){var t=this.max,e=Math.abs(this.location.x),n=new Vector2(this.location.x,0);return Math.abs(t.x)<e&&(e=Math.abs(t.x),n.x=t.x,n.y=0),Math.abs(t.y)<e&&(e=Math.abs(t.y),n.x=0,n.y=t.y),Math.abs(this.location.y)<e&&(e=Math.abs(this.location.y),n.x=0,n.y=this.location.y),n},e.prototype.setEgretRect=function(t){return this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height,this},e.rectEncompassingPoints=function(t){for(var e=Number.POSITIVE_INFINITY,n=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY,r=Number.NEGATIVE_INFINITY,o=0;o<t.length;o++){var s=t[o];s.x<e&&(e=s.x),s.x>i&&(i=s.x),s.y<n&&(n=s.y),s.y>r&&(r=s.y)}return this.fromMinMax(e,n,i,r)},e}(egret.Rectangle),Vector3=function(){return function(t,e,n){this.x=t,this.y=e,this.z=n}}(),ColliderTriggerHelper=function(){function t(t){this._activeTriggerIntersections=[],this._previousTriggerIntersections=[],this._tempTriggerList=[],this._entity=t}return t.prototype.update=function(){for(var t=this._entity.getComponents(Collider),e=0;e<t.length;e++){var n=t[e],i=Physics.boxcastBroadphase(n.bounds,n.collidesWithLayers);n.bounds=i.rect;for(var r=i.colliders,o=function(t){var e=r[t];if(!n.isTrigger&&!e.isTrigger)return"continue";if(n.overlaps(e)){var i=new Pair(n,e);-1==s._activeTriggerIntersections.findIndex(function(t){return t.first==i.first&&t.second==i.second})&&-1==s._previousTriggerIntersections.findIndex(function(t){return t.first==i.first&&t.second==i.second})&&s.notifyTriggerListeners(i,!0),s._activeTriggerIntersections.contains(i)||s._activeTriggerIntersections.push(i)}},s=this,a=0;a<r.length;a++)o(a)}ListPool.free(t),this.checkForExitedColliders()},t.prototype.checkForExitedColliders=function(){for(var t=this,e=function(e){var i=n._previousTriggerIntersections.findIndex(function(n){return n.first==t._activeTriggerIntersections[e].first&&n.second==t._activeTriggerIntersections[e].second});-1!=i&&n._previousTriggerIntersections.removeAt(i)},n=this,i=0;i<this._activeTriggerIntersections.length;i++)e(i);for(i=0;i<this._previousTriggerIntersections.length;i++)this.notifyTriggerListeners(this._previousTriggerIntersections[i],!1);this._previousTriggerIntersections.length=0;for(i=0;i<this._activeTriggerIntersections.length;i++)this._previousTriggerIntersections.contains(this._activeTriggerIntersections[i])||this._previousTriggerIntersections.push(this._activeTriggerIntersections[i]);this._activeTriggerIntersections.length=0},t.prototype.notifyTriggerListeners=function(t,e){t.first.entity.getComponents("ITriggerListener",this._tempTriggerList);for(var n=0;n<this._tempTriggerList.length;n++)if(e?this._tempTriggerList[n].onTriggerEnter(t.second,t.first):this._tempTriggerList[n].onTriggerExit(t.second,t.first),this._tempTriggerList.length=0,t.second.entity){t.second.entity.getComponents("ITriggerListener",this._tempTriggerList);for(var i=0;i<this._tempTriggerList.length;i++)e?this._tempTriggerList[i].onTriggerEnter(t.first,t.second):this._tempTriggerList[i].onTriggerExit(t.first,t.second);this._tempTriggerList.length=0}},t}();!function(t){t[t.center=0]="center",t[t.top=1]="top",t[t.bottom=2]="bottom",t[t.topLeft=9]="topLeft",t[t.topRight=5]="topRight",t[t.left=8]="left",t[t.right=4]="right",t[t.bottomLeft=10]="bottomLeft",t[t.bottomRight=6]="bottomRight"}(PointSectors||(PointSectors={}));var Alignment,stopwatch,Collisions=function(){function t(){}return t.isLineToLine=function(t,e,n,i){var r=Vector2.subtract(e,t),o=Vector2.subtract(i,n),s=r.x*o.y-r.y*o.x;if(0==s)return!1;var a=Vector2.subtract(n,t),c=(a.x*o.y-a.y*o.x)/s;if(c<0||c>1)return!1;var h=(a.x*r.y-a.y*r.x)/s;return!(h<0||h>1)},t.lineToLineIntersection=function(t,e,n,i){var r=new Vector2(0,0),o=Vector2.subtract(e,t),s=Vector2.subtract(i,n),a=o.x*s.y-o.y*s.x;if(0==a)return r;var c=Vector2.subtract(n,t),h=(c.x*s.y-c.y*s.x)/a;if(h<0||h>1)return r;var u=(c.x*o.y-c.y*o.x)/a;return u<0||u>1?r:r=Vector2.add(t,new Vector2(h*o.x,h*o.y))},t.closestPointOnLine=function(t,e,n){var i=Vector2.subtract(e,t),r=Vector2.subtract(n,t),o=Vector2.dot(r,i)/Vector2.dot(i,i);return o=MathHelper.clamp(o,0,1),Vector2.add(t,new Vector2(i.x*o,i.y*o))},t.isCircleToCircle=function(t,e,n,i){return Vector2.distanceSquared(t,n)<(e+i)*(e+i)},t.isCircleToLine=function(t,e,n,i){return Vector2.distanceSquared(t,this.closestPointOnLine(n,i,t))<e*e},t.isCircleToPoint=function(t,e,n){return Vector2.distanceSquared(t,n)<e*e},t.isRectToCircle=function(t,e,n){var i=.5*t.width,r=.5*t.height,o=Math.max(0,Math.max(e.x-t.x)-i),s=Math.max(0,Math.max(e.y-t.y)-r);return o*o+s*s<n*n},t.isRectToLine=function(t,e,n){var i=this.getSector(t.x,t.y,t.width,t.height,e),r=this.getSector(t.x,t.y,t.width,t.height,n);if(i==PointSectors.center||r==PointSectors.center)return!0;if(0!=(i&r))return!1;var o=i|r,s=void 0,a=void 0;return!(0==(o&PointSectors.top)||(s=new Vector2(t.x,t.y),a=new Vector2(t.x+t.width,t.y),!this.isLineToLine(s,a,e,n)))||(!(0==(o&PointSectors.bottom)||(s=new Vector2(t.x,t.y+t.height),a=new Vector2(t.x+t.width,t.y+t.height),!this.isLineToLine(s,a,e,n)))||(!(0==(o&PointSectors.left)||(s=new Vector2(t.x,t.y),a=new Vector2(t.x,t.y+t.height),!this.isLineToLine(s,a,e,n)))||!(0==(o&PointSectors.right)||(s=new Vector2(t.x+t.width,t.y),a=new Vector2(t.x+t.width,t.y+t.height),!this.isLineToLine(s,a,e,n)))))},t.isRectToPoint=function(t,e,n,i,r){return r.x>=t&&r.y>=e&&r.x<t+n&&r.y<e+i},t.getSector=function(t,e,n,i,r){var o=PointSectors.center;return r.x<t?o|=PointSectors.left:r.x>=t+n&&(o|=PointSectors.right),r.y<e?o|=PointSectors.top:r.y>=e+i&&(o|=PointSectors.bottom),o},t}(),Physics=function(){function t(){}return t.reset=function(){this._spatialHash=new SpatialHash(this.spatialHashCellSize)},t.clear=function(){this._spatialHash.clear()},t.overlapCircleAll=function(t,e,n,i){return void 0===i&&(i=-1),this._spatialHash.overlapCircle(t,e,n,i)},t.boxcastBroadphase=function(t,e){void 0===e&&(e=this.allLayers);var n=this._spatialHash.aabbBroadphase(t,null,e);return{colliders:n.tempHashSet,rect:n.bounds}},t.boxcastBroadphaseExcludingSelf=function(t,e,n){return void 0===n&&(n=this.allLayers),this._spatialHash.aabbBroadphase(e,t,n)},t.addCollider=function(e){t._spatialHash.register(e)},t.removeCollider=function(e){t._spatialHash.remove(e)},t.updateCollider=function(t){this._spatialHash.remove(t),this._spatialHash.register(t)},t.debugDraw=function(t){this._spatialHash.debugDraw(t,2)},t.spatialHashCellSize=100,t.allLayers=-1,t}(),Shape=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e}(egret.DisplayObject),Polygon=function(t){function e(e,n){var i=t.call(this)||this;return i._areEdgeNormalsDirty=!0,i.center=new Vector2,i.setPoints(e),i.isBox=n,i}return __extends(e,t),Object.defineProperty(e.prototype,"position",{get:function(){return new Vector2(this.parent.x,this.parent.y)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"bounds",{get:function(){return new Rectangle(this.x,this.y,this.width,this.height)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"edgeNormals",{get:function(){return this._areEdgeNormalsDirty&&this.buildEdgeNormals(),this._edgeNormals},enumerable:!0,configurable:!0}),e.prototype.buildEdgeNormals=function(){var t,e=this.isBox?2:this.points.length;null!=this._edgeNormals&&this._edgeNormals.length==e||(this._edgeNormals=new Array(e));for(var n=0;n<e;n++){var i=this.points[n];t=n+1>=this.points.length?this.points[0]:this.points[n+1];var r=Vector2Ext.perpendicular(i,t);r=Vector2.normalize(r),this._edgeNormals[n]=r}},e.prototype.setPoints=function(t){this.points=t,this.recalculateCenterAndEdgeNormals(),this._originalPoints=[];for(var e=0;e<this.points.length;e++)this._originalPoints.push(this.points[e])},e.prototype.collidesWithShape=function(t){var n=new CollisionResult;if(t instanceof e)return ShapeCollisions.polygonToPolygon(this,t);if(t instanceof Circle)return(n=ShapeCollisions.circleToPolygon(t,this))?(n.invertResult(),n):null;throw new Error("overlaps of Polygon to "+t+" are not supported")},e.prototype.recalculateCenterAndEdgeNormals=function(){this._polygonCenter=e.findPolygonCenter(this.points),this._areEdgeNormalsDirty=!0},e.prototype.overlaps=function(t){var n;if(t instanceof e)return ShapeCollisions.polygonToPolygon(this,t);if(t instanceof Circle)return!!(n=ShapeCollisions.circleToPolygon(t,this))&&(n.invertResult(),!0);throw new Error("overlaps of Pologon to "+t+" are not supported")},e.findPolygonCenter=function(t){for(var e=0,n=0,i=0;i<t.length;i++)e+=t[i].x,n+=t[i].y;return new Vector2(e/t.length,n/t.length)},e.recenterPolygonVerts=function(t){for(var e=this.findPolygonCenter(t),n=0;n<t.length;n++)t[n]=Vector2.subtract(t[n],e)},e.getClosestPointOnPolygonToPoint=function(t,e){for(var n,i=Number.MAX_VALUE,r=new Vector2(0,0),o=new Vector2(0,0),s=0;s<t.length;s++){var a=s+1;a==t.length&&(a=0);var c=ShapeCollisions.closestPointOnLine(t[s],t[a],e);if((n=Vector2.distanceSquared(e,c))<i){i=n,o=c;var h=Vector2.subtract(t[a],t[s]);r.x=-h.y,r.y=h.x}}return{closestPoint:o,distanceSquared:i,edgeNormal:r=Vector2.normalize(r)}},e.prototype.pointCollidesWithShape=function(t){return ShapeCollisions.pointToPoly(t,this)},e.prototype.containsPoint=function(t){t=Vector2.subtract(t,this.position);for(var e=!1,n=0,i=this.points.length-1;n<this.points.length;i=n++)this.points[n].y>t.y!=this.points[i].y>t.y&&t.x<(this.points[i].x-this.points[n].x)*(t.y-this.points[n].y)/(this.points[i].y-this.points[n].y)+this.points[n].x&&(e=!e);return e},e.buildSymmertricalPolygon=function(t,e){for(var n=new Array(t),i=0;i<t;i++){var r=2*Math.PI*(i/t);n[i]=new Vector2(Math.cos(r),Math.sin(r)*e)}return n},e}(Shape),Box=function(t){function e(n,i){var r=t.call(this,e.buildBox(n,i),!0)||this;return r.width=n,r.height=i,r}return __extends(e,t),e.buildBox=function(t,e){var n=t/2,i=e/2,r=new Array(4);return r[0]=new Vector2(-n,-i),r[1]=new Vector2(n,-i),r[2]=new Vector2(n,i),r[3]=new Vector2(-n,i),r},e.prototype.overlaps=function(n){return n instanceof e?this.bounds.intersects(n.bounds):n instanceof Circle?Collisions.isRectToCircle(this.bounds,n.position,n.radius):t.prototype.overlaps.call(this,n)},e.prototype.collidesWithShape=function(n){return n instanceof e?ShapeCollisions.boxToBox(this,n):t.prototype.collidesWithShape.call(this,n)},e.prototype.updateBox=function(t,e){this.width=t,this.height=e;var n=t/2,i=e/2;this.points[0]=new Vector2(-n,-i),this.points[1]=new Vector2(n,-i),this.points[2]=new Vector2(n,i),this.points[3]=new Vector2(-n,i);for(var r=0;r<this.points.length;r++)this._originalPoints[r]=this.points[r]},e.prototype.containsPoint=function(t){return this.bounds.contains(t.x,t.y)},e}(Polygon),Circle=function(t){function e(e){var n=t.call(this)||this;return n.center=new Vector2,n.radius=e,n._originalRadius=e,n}return __extends(e,t),Object.defineProperty(e.prototype,"position",{get:function(){return new Vector2(this.parent.x,this.parent.y)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"bounds",{get:function(){return(new Rectangle).setEgretRect(this.getBounds())},enumerable:!0,configurable:!0}),e.prototype.pointCollidesWithShape=function(t){return ShapeCollisions.pointToCircle(t,this)},e.prototype.collidesWithShape=function(t){if(t instanceof Box)return ShapeCollisions.circleToBox(this,t);if(t instanceof e)return ShapeCollisions.circleToCircle(this,t);if(t instanceof Polygon)return ShapeCollisions.circleToPolygon(this,t);throw new Error("Collisions of Circle to "+t+" are not supported")},e.prototype.overlaps=function(t){if(t instanceof Box)return Collisions.isRectToCircle(t.bounds,this.position,this.radius);if(t instanceof e)return Collisions.isCircleToCircle(this.position,this.radius,t.position,t.radius);if(t instanceof Polygon)return ShapeCollisions.circleToPolygon(this,t);throw new Error("overlaps of circle to "+t+" are not supported")},e}(Shape),CollisionResult=function(){function t(){this.minimumTranslationVector=Vector2.zero,this.normal=Vector2.zero,this.point=Vector2.zero}return t.prototype.invertResult=function(){this.minimumTranslationVector=Vector2.negate(this.minimumTranslationVector),this.normal=Vector2.negate(this.normal)},t}(),ShapeCollisions=function(){function t(){}return t.polygonToPolygon=function(t,e){for(var n,i=new CollisionResult,r=!0,o=t.edgeNormals,s=e.edgeNormals,a=Number.POSITIVE_INFINITY,c=new Vector2,h=Vector2.subtract(t.position,e.position),u=0;u<o.length+s.length;u++){n=u<o.length?o[u]:s[u-o.length];var l=0,p=0,d=0,f=0,g=0,m=this.getInterval(n,t,l,d);l=m.min,p=m.max;var y=this.getInterval(n,e,p,f);p=y.min,f=y.max;var _=Vector2.dot(h,n);if(l+=_,d+=_,(g=this.intervalDistance(l,d,p,f))>0&&(r=!1),!r)return null;(g=Math.abs(g))<a&&(a=g,c=n,Vector2.dot(c,h)<0&&(c=new Vector2(-c)))}return i.normal=c,i.minimumTranslationVector=Vector2.multiply(new Vector2(-c.x,-c.y),new Vector2(a)),i},t.intervalDistance=function(t,e,n,i){return t<n?n-e:t-n},t.getInterval=function(t,e,n,i){var r=Vector2.dot(e.points[0],t);n=i=r;for(var o=1;o<e.points.length;o++)(r=Vector2.dot(e.points[o],t))<n?n=r:r>i&&(i=r);return{min:n,max:i}},t.circleToPolygon=function(t,e){var n=new CollisionResult,i=Vector2.subtract(t.position,e.position),r=Polygon.getClosestPointOnPolygonToPoint(e.points,i),o=r.closestPoint,s=r.distanceSquared;n.normal=r.edgeNormal;var a,c=e.containsPoint(t.position);if(s>t.radius*t.radius&&!c)return null;if(c)a=Vector2.multiply(n.normal,new Vector2(Math.sqrt(s)-t.radius));else if(0==s)a=Vector2.multiply(n.normal,new Vector2(t.radius));else{var h=Math.sqrt(s);a=Vector2.multiply(new Vector2(-Vector2.subtract(i,o)),new Vector2((t.radius-s)/h))}return n.minimumTranslationVector=a,n.point=Vector2.add(o,e.position),n},t.circleToBox=function(t,e){var n=new CollisionResult,i=e.bounds.getClosestPointOnRectangleBorderToPoint(t.position).res;if(e.containsPoint(t.position)){n.point=i;var r=Vector2.add(i,Vector2.subtract(n.normal,new Vector2(t.radius)));return n.minimumTranslationVector=Vector2.subtract(t.position,r),n}var o=Vector2.distanceSquared(i,t.position);if(0==o)n.minimumTranslationVector=Vector2.multiply(n.normal,new Vector2(t.radius));else if(o<=t.radius*t.radius){n.normal=Vector2.subtract(t.position,i);var s=n.normal.length()-t.radius;return n.normal=Vector2Ext.normalize(n.normal),n.minimumTranslationVector=Vector2.multiply(new Vector2(s),n.normal),n}return null},t.pointToCircle=function(t,e){var n=new CollisionResult,i=Vector2.distanceSquared(t,e.position),r=1+e.radius;if(i<r*r){n.normal=Vector2.normalize(Vector2.subtract(t,e.position));var o=r-Math.sqrt(i);return n.minimumTranslationVector=Vector2.multiply(new Vector2(-o,-o),n.normal),n.point=Vector2.add(e.position,Vector2.multiply(n.normal,new Vector2(e.radius,e.radius))),n}return null},t.closestPointOnLine=function(t,e,n){var i=Vector2.subtract(e,t),r=Vector2.subtract(n,t),o=Vector2.dot(r,i)/Vector2.dot(i,i);return o=MathHelper.clamp(o,0,1),Vector2.add(t,Vector2.multiply(i,new Vector2(o,o)))},t.pointToPoly=function(t,e){var n=new CollisionResult;if(e.containsPoint(t)){var i,r=Polygon.getClosestPointOnPolygonToPoint(e.points,Vector2.subtract(t,e.position)),o=r.closestPoint;return i=r.distanceSquared,n.normal=r.edgeNormal,n.minimumTranslationVector=Vector2.multiply(n.normal,new Vector2(Math.sqrt(i),Math.sqrt(i))),n.point=Vector2.add(o,e.position),n}return null},t.circleToCircle=function(t,e){var n=new CollisionResult,i=Vector2.distanceSquared(t.position,e.position),r=t.radius+e.radius;if(i<r*r){n.normal=Vector2.normalize(Vector2.subtract(t.position,e.position));var o=r-Math.sqrt(i);return n.minimumTranslationVector=Vector2.multiply(new Vector2(-o),n.normal),n.point=Vector2.add(e.position,Vector2.multiply(n.normal,new Vector2(e.radius))),n}return null},t.boxToBox=function(t,e){var n=new CollisionResult,i=this.minkowskiDifference(t,e);return i.contains(0,0)?(n.minimumTranslationVector=i.getClosestPointOnBoundsToOrigin(),0==n.minimumTranslationVector.x&&0==n.minimumTranslationVector.y?null:(n.normal=new Vector2(-n.minimumTranslationVector.x,-n.minimumTranslationVector.y),n.normal.normalize(),n)):null},t.minkowskiDifference=function(t,e){var n=Vector2.subtract(t.position,Vector2.add(t.bounds.location,Vector2.divide(t.bounds.size,new Vector2(2)))),i=Vector2.subtract(Vector2.add(t.bounds.location,n),e.bounds.max),r=Vector2.add(t.bounds.size,e.bounds.size);return new Rectangle(i.x,i.y,r.x,r.y)},t}(),SpatialHash=function(){function t(t){void 0===t&&(t=100),this.gridBounds=new Rectangle,this._overlapTestCircle=new Circle(0),this._tempHashSet=[],this._cellDict=new NumberDictionary,this._cellSize=t,this._inverseCellSize=1/this._cellSize,this._raycastParser=new RaycastResultParser}return t.prototype.remove=function(t){for(var e=t.registeredPhysicsBounds,n=this.cellCoords(e.x,e.y),i=this.cellCoords(e.right,e.bottom),r=n.x;r<=i.x;r++)for(var o=n.y;o<=i.y;o++){var s=this.cellAtPosition(r,o);s?s.remove(t):console.error("removing Collider ["+t+"] from a cell that it is not present in")}},t.prototype.register=function(t){var e=t.bounds;t.registeredPhysicsBounds=e;var n=this.cellCoords(e.x,e.y),i=this.cellCoords(e.right,e.bottom);this.gridBounds.contains(n.x,n.y)||(this.gridBounds=RectangleExt.union(this.gridBounds,n)),this.gridBounds.contains(i.x,i.y)||(this.gridBounds=RectangleExt.union(this.gridBounds,i));for(var r=n.x;r<=i.x;r++)for(var o=n.y;o<=i.y;o++){var s=this.cellAtPosition(r,o,!0);-1==s.indexOf(t)&&s.push(t)}},t.prototype.clear=function(){this._cellDict.clear()},t.prototype.overlapCircle=function(t,e,n,i){var r=new Rectangle(t.x-e,t.y-e,2*e,2*e);this._overlapTestCircle.radius=e;var o=0,s=this.aabbBroadphase(r,null,i);r=s.bounds;for(var a=s.tempHashSet,c=0;c<a.length;c++){var h=a[c];if(h instanceof BoxCollider)n[o]=h,o++;else if(h instanceof CircleCollider)h.shape.overlaps(this._overlapTestCircle)&&(n[o]=h,o++);else{if(!(h instanceof PolygonCollider))throw new Error("overlapCircle against this collider type is not implemented!");h.shape.overlaps(this._overlapTestCircle)&&(n[o]=h,o++)}if(o==n.length)return o}return o},t.prototype.aabbBroadphase=function(t,e,n){this._tempHashSet.length=0;for(var i=this.cellCoords(t.x,t.y),r=this.cellCoords(t.right,t.bottom),o=i.x;o<=r.x;o++)for(var s=i.y;s<=r.y;s++){var a=this.cellAtPosition(o,s);if(a)for(var c=0;c<a.length;c++){var h=a[c];h!=e&&Flags.isFlagSet(n,h.physicsLayer)&&(t.intersects(h.bounds)&&-1==this._tempHashSet.indexOf(h)&&this._tempHashSet.push(h))}}return{tempHashSet:this._tempHashSet,bounds:t}},t.prototype.cellAtPosition=function(t,e,n){void 0===n&&(n=!1);var i=this._cellDict.tryGetValue(t,e);return i||n&&(i=[],this._cellDict.add(t,e,i)),i},t.prototype.cellCoords=function(t,e){return new Vector2(Math.floor(t*this._inverseCellSize),Math.floor(e*this._inverseCellSize))},t.prototype.debugDraw=function(t,e){void 0===e&&(e=1);for(var n=this.gridBounds.x;n<=this.gridBounds.right;n++)for(var i=this.gridBounds.y;i<=this.gridBounds.bottom;i++){var r=this.cellAtPosition(n,i);r&&r.length>0&&this.debugDrawCellDetails(n,i,r.length,t,e)}},t.prototype.debugDrawCellDetails=function(t,e,n,i,r){void 0===i&&(i=.5),void 0===r&&(r=1)},t}(),RaycastResultParser=function(){return function(){}}(),NumberDictionary=function(){function t(){this._store=new Map}return t.prototype.getKey=function(t,e){return Long.fromNumber(t).shiftLeft(32).or(Long.fromNumber(e,!1)).toString()},t.prototype.add=function(t,e,n){this._store.set(this.getKey(t,e),n)},t.prototype.remove=function(t){this._store.forEach(function(e){e.contains(t)&&e.remove(t)})},t.prototype.tryGetValue=function(t,e){return this._store.get(this.getKey(t,e))},t.prototype.clear=function(){this._store.clear()},t}(),ArrayUtils=function(){function t(){}return t.bubbleSort=function(t){for(var e=!1,n=0;n<t.length;n++){e=!1;for(var i=t.length-1;i>n;i--)if(t[i]<t[i-1]){var r=t[i];t[i]=t[i-1],t[i-1]=r,e=!0}if(!e)break}},t.insertionSort=function(t){for(var e=t.length,n=1;n<e;n++){for(var i=t[n],r=n;r>0&&t[r-1]>i;r--)t[r]=t[r-1];t[r]=i}},t.binarySearch=function(t,e){for(var n=0,i=t.length,r=n+i>>1;n<i;)e<=t[r]?i=r:e>=t[r]&&(n=r+1),r=n+i>>1;return t[n]==e?n:-1},t.findElementIndex=function(t,e){for(var n=t.length,i=0;i<n;++i)if(t[i]==e)return i;return null},t.getMaxElementIndex=function(t){for(var e=0,n=t.length,i=1;i<n;i++)t[i]>t[e]&&(e=i);return e},t.getMinElementIndex=function(t){for(var e=0,n=t.length,i=1;i<n;i++)t[i]<t[e]&&(e=i);return e},t.getUniqueAry=function(t){for(var e=[],n=[],i=t.length,r=0;r<i;++r){var o=t[r];-1==e.indexOf(o)&&e.push(o)}for(r=(i=e.length)-1;r>=0;--r)n.unshift(e[r]);return n},t.getDifferAry=function(t,e){t=this.getUniqueAry(t),e=this.getUniqueAry(e);for(var n=t.concat(e),i=new Object,r=[],o=n.length,s=0;s<o;++s)i[n[s]]?i[n[s]]instanceof Object&&i[n[s]].count++:(i[n[s]]=new Object,i[n[s]].count=0,i[n[s]].key=n[s],i[n[s]].count++);for(var a in i)2!=i[a].count&&r.unshift(i[a].key);return r},t.swap=function(t,e,n){var i=t[e];t[e]=t[n],t[n]=i},t.clearList=function(t){if(t)for(var e=t.length-1;e>=0;e-=1)t.splice(e,1)},t.cloneList=function(t){return t?t.slice(0,t.length):null},t.equals=function(t,e){if(t==e)return!0;var n=t.length;if(n!=e.length)return!1;for(;n--;)if(t[n]!=e[n])return!1;return!0},t.insert=function(t,e,n){if(!t)return null;var i=t.length;if(e>i&&(e=i),e<0&&(e=0),e==i)t.push(n);else if(0==e)t.unshift(n);else{for(var r=i-1;r>=e;r-=1)t[r+1]=t[r];t[e]=n}return n},t}(),Base64Utils=function(){function t(){}return t._utf8_encode=function(t){t=t.replace(/\r\n/g,"\n");for(var e="",n=0;n<t.length;n++){var i=t.charCodeAt(n);i<128?e+=String.fromCharCode(i):i>127&&i<2048?(e+=String.fromCharCode(i>>6|192),e+=String.fromCharCode(63&i|128)):(e+=String.fromCharCode(i>>12|224),e+=String.fromCharCode(i>>6&63|128),e+=String.fromCharCode(63&i|128))}return e},t.decode=function(t,e){void 0===e&&(e=!0);var n,i,r,o,s,a,c="",h=0;for(t=(t=this.getConfKey(t)).replace(/[^A-Za-z0-9\+\/\=]/g,"");h<t.length;)n=this._keyAll.indexOf(t.charAt(h++))<<2|(o=this._keyAll.indexOf(t.charAt(h++)))>>4,i=(15&o)<<4|(s=this._keyAll.indexOf(t.charAt(h++)))>>2,r=(3&s)<<6|(a=this._keyAll.indexOf(t.charAt(h++))),c+=String.fromCharCode(n),64!=s&&(0==i?e&&(c+=String.fromCharCode(i)):c+=String.fromCharCode(i)),64!=a&&(0==r?e&&(c+=String.fromCharCode(r)):c+=String.fromCharCode(r));return c=this._utf8_decode(c)},t._utf8_decode=function(t){for(var e="",n=0,i=0,r=0,o=0;n<t.length;)(i=t.charCodeAt(n))<128?(e+=String.fromCharCode(i),n++):i>191&&i<224?(r=t.charCodeAt(n+1),e+=String.fromCharCode((31&i)<<6|63&r),n+=2):(r=t.charCodeAt(n+1),o=t.charCodeAt(n+2),e+=String.fromCharCode((15&i)<<12|(63&r)<<6|63&o),n+=3);return e},t.getConfKey=function(t){return t.slice(1,t.length)},t._keyNum="0123456789+/",t._keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",t._keyAll=t._keyNum+t._keyStr,t.encode=function(t){var e,n,i,r,o,s,a,c="",h=0;for(t=this._utf8_encode(t);h<t.length;)r=(e=t.charCodeAt(h++))>>2,o=(3&e)<<4|(n=t.charCodeAt(h++))>>4,s=(15&n)<<2|(i=t.charCodeAt(h++))>>6,a=63&i,isNaN(n)?s=a=64:isNaN(i)&&(a=64),c=c+this._keyAll.charAt(r)+this._keyAll.charAt(o)+this._keyAll.charAt(s)+this._keyAll.charAt(a);return this._keyStr.charAt(Math.floor(Math.random()*this._keyStr.length))+c},t}(),ContentManager=function(){function t(){this.loadedAssets=new Map}return t.prototype.loadRes=function(t,e){var n=this;return void 0===e&&(e=!0),new Promise(function(i,r){var o=n.loadedAssets.get(t);o?i(o):e?RES.getResAsync(t).then(function(e){n.loadedAssets.set(t,e),i(e)}).catch(function(e){console.error("资源加载错误:",t,e),r(e)}):RES.getResByUrl(t).then(function(e){n.loadedAssets.set(t,e),i(e)}).catch(function(e){console.error("资源加载错误:",t,e),r(e)})})},t.prototype.dispose=function(){this.loadedAssets.forEach(function(t){t.dispose()}),this.loadedAssets.clear()},t}(),DrawUtils=function(){function t(){}return t.drawLine=function(t,e,n,i,r){void 0===r&&(r=1),this.drawLineAngle(t,e,MathHelper.angleBetweenVectors(e,n),Vector2.distance(e,n),i,r)},t.drawLineAngle=function(t,e,n,i,r,o){void 0===o&&(o=1),t.graphics.beginFill(r),t.graphics.drawRect(e.x,e.y,1,1),t.graphics.endFill(),t.scaleX=i,t.scaleY=o,t.$anchorOffsetX=0,t.$anchorOffsetY=0,t.rotation=n},t.drawHollowRect=function(t,e,n,i){void 0===i&&(i=1),this.drawHollowRectR(t,e.x,e.y,e.width,e.height,n,i)},t.drawHollowRectR=function(t,e,n,i,r,o,s){void 0===s&&(s=1);var a=new Vector2(e,n).round(),c=new Vector2(e+i,n).round(),h=new Vector2(e+i,n+r).round(),u=new Vector2(e,n+r).round();this.drawLine(t,a,c,o,s),this.drawLine(t,c,h,o,s),this.drawLine(t,h,u,o,s),this.drawLine(t,u,a,o,s)},t.drawPixel=function(t,e,n,i){void 0===i&&(i=1);var r=new Rectangle(e.x,e.y,i,i);1!=i&&(r.x-=.5*i,r.y-=.5*i),t.graphics.beginFill(n),t.graphics.drawRect(r.x,r.y,r.width,r.height),t.graphics.endFill()},t}(),Emitter=function(){function t(){this._messageTable=new Map}return t.prototype.addObserver=function(t,e,n){var i=this._messageTable.get(t);i||(i=[],this._messageTable.set(t,i)),i.contains(e)&&console.warn("您试图添加相同的观察者两次"),i.push(new FuncPack(e,n))},t.prototype.removeObserver=function(t,e){var n=this._messageTable.get(t),i=n.findIndex(function(t){return t.func==e});-1!=i&&n.removeAt(i)},t.prototype.emit=function(t,e){var n=this._messageTable.get(t);if(n)for(var i=n.length-1;i>=0;i--)n[i].func.call(n[i].context,e)},t}(),FuncPack=function(){return function(t,e){this.func=t,this.context=e}}(),GlobalManager=function(){function t(){}return Object.defineProperty(t.prototype,"enabled",{get:function(){return this._enabled},set:function(t){this.setEnabled(t)},enumerable:!0,configurable:!0}),t.prototype.setEnabled=function(t){this._enabled!=t&&(this._enabled=t,this._enabled?this.onEnabled():this.onDisabled())},t.prototype.onEnabled=function(){},t.prototype.onDisabled=function(){},t.prototype.update=function(){},t.registerGlobalManager=function(t){this.globalManagers.push(t),t.enabled=!0},t.unregisterGlobalManager=function(t){this.globalManagers.remove(t),t.enabled=!1},t.getGlobalManager=function(t){for(var e=0;e<this.globalManagers.length;e++)if(this.globalManagers[e]instanceof t)return this.globalManagers[e];return null},t.globalManagers=[],t}(),TouchState=function(){function t(){this.x=0,this.y=0,this.touchPoint=-1,this.touchDown=!1}return Object.defineProperty(t.prototype,"position",{get:function(){return new Vector2(this.x,this.y)},enumerable:!0,configurable:!0}),t.prototype.reset=function(){this.x=0,this.y=0,this.touchDown=!1,this.touchPoint=-1},t}(),Input=function(){function t(){}return Object.defineProperty(t,"touchPosition",{get:function(){return this._gameTouchs[0]?this._gameTouchs[0].position:Vector2.zero},enumerable:!0,configurable:!0}),Object.defineProperty(t,"maxSupportedTouch",{get:function(){return this._stage.maxTouches},set:function(t){this._stage.maxTouches=t,this.initTouchCache()},enumerable:!0,configurable:!0}),Object.defineProperty(t,"resolutionScale",{get:function(){return this._resolutionScale},enumerable:!0,configurable:!0}),Object.defineProperty(t,"totalTouchCount",{get:function(){return this._totalTouchCount},enumerable:!0,configurable:!0}),Object.defineProperty(t,"gameTouchs",{get:function(){return this._gameTouchs},enumerable:!0,configurable:!0}),Object.defineProperty(t,"touchPositionDelta",{get:function(){var t=Vector2.subtract(this.touchPosition,this._previousTouchState.position);return t.length()>0&&this.setpreviousTouchState(this._gameTouchs[0]),t},enumerable:!0,configurable:!0}),t.initialize=function(t){this._init||(this._init=!0,this._stage=t,this._stage.addEventListener(egret.TouchEvent.TOUCH_BEGIN,this.touchBegin,this),this._stage.addEventListener(egret.TouchEvent.TOUCH_MOVE,this.touchMove,this),this._stage.addEventListener(egret.TouchEvent.TOUCH_END,this.touchEnd,this),this._stage.addEventListener(egret.TouchEvent.TOUCH_CANCEL,this.touchEnd,this),this._stage.addEventListener(egret.TouchEvent.TOUCH_RELEASE_OUTSIDE,this.touchEnd,this),this.initTouchCache())},t.initTouchCache=function(){this._totalTouchCount=0,this._touchIndex=0,this._gameTouchs.length=0;for(var t=0;t<this.maxSupportedTouch;t++)this._gameTouchs.push(new TouchState)},t.touchBegin=function(t){this._touchIndex<this.maxSupportedTouch&&(this._gameTouchs[this._touchIndex].touchPoint=t.touchPointID,this._gameTouchs[this._touchIndex].touchDown=t.touchDown,this._gameTouchs[this._touchIndex].x=t.stageX,this._gameTouchs[this._touchIndex].y=t.stageY,0==this._touchIndex&&this.setpreviousTouchState(this._gameTouchs[0]),this._touchIndex++,this._totalTouchCount++)},t.touchMove=function(t){t.touchPointID==this._gameTouchs[0].touchPoint&&this.setpreviousTouchState(this._gameTouchs[0]);var e=this._gameTouchs.findIndex(function(e){return e.touchPoint==t.touchPointID});if(-1!=e){var n=this._gameTouchs[e];n.x=t.stageX,n.y=t.stageY}},t.touchEnd=function(t){var e=this._gameTouchs.findIndex(function(e){return e.touchPoint==t.touchPointID});-1!=e&&(this._gameTouchs[e].reset(),0==e&&this._previousTouchState.reset(),this._totalTouchCount--,0==this.totalTouchCount&&(this._touchIndex=0))},t.setpreviousTouchState=function(t){this._previousTouchState=new TouchState,this._previousTouchState.x=t.position.x,this._previousTouchState.y=t.position.y,this._previousTouchState.touchPoint=t.touchPoint,this._previousTouchState.touchDown=t.touchDown},t.scaledPosition=function(t){var e=new Vector2(t.x-this._resolutionOffset.x,t.y-this._resolutionOffset.y);return Vector2.multiply(e,this.resolutionScale)},t._init=!1,t._previousTouchState=new TouchState,t._gameTouchs=[],t._resolutionOffset=new Vector2,t._resolutionScale=Vector2.one,t._touchIndex=0,t._totalTouchCount=0,t}(),KeyboardUtils=function(){function t(){}return t.init=function(){this.keyDownDict={},this.keyUpDict={},document.addEventListener("keydown",this.onKeyDonwHander),document.addEventListener("keyup",this.onKeyUpHander)},t.onKeyDonwHander=function(t){if(this.keyDownDict){var e=this.keyCodeToString(t.keyCode),n=this.keyDownDict[e];if(n){var i=n.fun,r=n.thisObj,o=n.args;i.apply(r,o)}}},t.onKeyUpHander=function(t){if(this.keyUpDict){var e=this.keyCodeToString(t.keyCode),n=this.keyUpDict[e];if(n){var i=n.fun,r=n.thisObj,o=n.args;i.apply(r,o)}}},t.registerKey=function(t,e,n,i){void 0===i&&(i=0);for(var r=[],o=4;o<arguments.length;o++)r[o-4]=arguments[o];(i?this.keyUpDict:this.keyDownDict)[t]={fun:e,args:r,thisObj:n}},t.unregisterKey=function(t,e){void 0===e&&(e=0),delete(e?this.keyUpDict:this.keyDownDict)[t]},t.keyCodeToString=function(t){switch(t){case 8:return this.BACK_SPACE;case 9:return this.TAB;case 13:return this.ENTER;case 16:return this.SHIFT;case 17:return this.CTRL;case 19:return this.PAUSE_BREAK;case 20:return this.CAPS_LOCK;case 27:return this.ESC;case 32:return this.SPACE;case 33:return this.PAGE_UP;case 34:return this.PAGE_DOWN;case 35:return this.END;case 36:return this.HOME;case 37:return this.LEFT;case 38:return this.UP;case 39:return this.RIGHT;case 40:return this.DOWN;case 45:return this.INSERT;case 46:return this.DELETE;case 91:return this.WINDOWS;case 112:return this.F1;case 113:return this.F2;case 114:return this.F3;case 115:return this.F4;case 116:return this.F5;case 117:return this.F6;case 118:return this.F7;case 119:return this.F8;case 120:return this.F9;case 122:return this.F11;case 123:return this.F12;case 144:return this.NUM_LOCK;case 145:return this.SCROLL_LOCK;default:return String.fromCharCode(t)}},t.destroy=function(){this.keyDownDict=null,this.keyUpDict=null,document.removeEventListener("keydown",this.onKeyDonwHander),document.removeEventListener("keyup",this.onKeyUpHander)},t.TYPE_KEY_DOWN=0,t.TYPE_KEY_UP=1,t.A="A",t.B="B",t.C="C",t.D="D",t.E="E",t.F="F",t.G="G",t.H="H",t.I="I",t.J="J",t.K="K",t.L="L",t.M="M",t.N="N",t.O="O",t.P="P",t.Q="Q",t.R="R",t.S="S",t.T="T",t.U="U",t.V="V",t.W="W",t.X="X",t.Y="Y",t.Z="Z",t.ESC="Esc",t.F1="F1",t.F2="F2",t.F3="F3",t.F4="F4",t.F5="F5",t.F6="F6",t.F7="F7",t.F8="F8",t.F9="F9",t.F10="F10",t.F11="F11",t.F12="F12",t.NUM_1="1",t.NUM_2="2",t.NUM_3="3",t.NUM_4="4",t.NUM_5="5",t.NUM_6="6",t.NUM_7="7",t.NUM_8="8",t.NUM_9="9",t.NUM_0="0",t.TAB="Tab",t.CTRL="Ctrl",t.ALT="Alt",t.SHIFT="Shift",t.CAPS_LOCK="Caps Lock",t.ENTER="Enter",t.SPACE="Space",t.BACK_SPACE="Back Space",t.INSERT="Insert",t.DELETE="Page Down",t.HOME="Home",t.END="Page Down",t.PAGE_UP="Page Up",t.PAGE_DOWN="Page Down",t.LEFT="Left",t.RIGHT="Right",t.UP="Up",t.DOWN="Down",t.PAUSE_BREAK="Pause Break",t.NUM_LOCK="Num Lock",t.SCROLL_LOCK="Scroll Lock",t.WINDOWS="Windows",t}(),ListPool=function(){function t(){}return t.warmCache=function(t){if((t-=this._objectQueue.length)>0)for(var e=0;e<t;e++)this._objectQueue.unshift([])},t.trimCache=function(t){for(;t>this._objectQueue.length;)this._objectQueue.shift()},t.clearCache=function(){this._objectQueue.length=0},t.obtain=function(){return this._objectQueue.length>0?this._objectQueue.shift():[]},t.free=function(t){this._objectQueue.unshift(t),t.length=0},t._objectQueue=[],t}(),THREAD_ID=Math.floor(1e3*Math.random())+"-"+Date.now(),setItem=egret.localStorage.setItem.bind(localStorage),getItem=egret.localStorage.getItem.bind(localStorage),removeItem=egret.localStorage.removeItem.bind(localStorage),nextTick=function(t){setTimeout(t,0)},LockUtils=function(){function t(t){this._keyX="mutex_key_"+t+"_X",this._keyY="mutex_key_"+t+"_Y"}return t.prototype.lock=function(){var t=this;return new Promise(function(e,n){var i=function(){setItem(t._keyX,THREAD_ID),null===!getItem(t._keyY)&&nextTick(i),setItem(t._keyY,THREAD_ID),getItem(t._keyX)!==THREAD_ID?setTimeout(function(){getItem(t._keyY)===THREAD_ID?(e(),removeItem(t._keyY)):nextTick(i)},10):(e(),removeItem(t._keyY))};i()})},t}(),Pair=function(){function t(t,e){this.first=t,this.second=e}return t.prototype.clear=function(){this.first=this.second=null},t.prototype.equals=function(t){return this.first==t.first&&this.second==t.second},t}(),RandomUtils=function(){function t(){}return t.randrange=function(t,e,n){if(void 0===n&&(n=1),0==n)throw new Error("step 不能为 0");var i=e-t;if(0==i)throw new Error("没有可用的范围("+t+","+e+")");i<0&&(i=t-e);var r=Math.floor((i+n-1)/n);return Math.floor(this.random()*r)*n+Math.min(t,e)},t.randint=function(t,e){return(t=Math.floor(t))>(e=Math.floor(e))?t++:e++,this.randrange(t,e)},t.randnum=function(t,e){return this.random()*(e-t)+t},t.shuffle=function(t){return t.sort(this._randomCompare),t},t._randomCompare=function(t,e){return this.random()>.5?1:-1},t.choice=function(t){if(!t.hasOwnProperty("length"))throw new Error("无法对此对象执行此操作");var e=Math.floor(this.random()*t.length);return t instanceof String?String(t).charAt(e):t[e]},t.sample=function(t,e){var n=t.length;if(e<=0||n<e)throw new Error("采样数量不够");for(var i=[],r=[],o=0;o<e;o++){for(var s=Math.floor(this.random()*n);r.indexOf(s)>=0;)s=Math.floor(this.random()*n);i.push(t[s]),r.push(s)}return i},t.random=function(){return Math.random()},t.boolean=function(t){return void 0===t&&(t=.5),this.random()<t},t}(),RectangleExt=function(){function t(){}return t.union=function(t,e){var n=new Rectangle(e.x,e.y,0,0),i=new Rectangle;return i.x=Math.min(t.x,n.x),i.y=Math.min(t.y,n.y),i.width=Math.max(t.right,n.right)-i.x,i.height=Math.max(t.bottom,i.bottom)-i.y,i},t}(),Triangulator=function(){function t(){this.triangleIndices=[],this._triPrev=new Array(12),this._triNext=new Array(12)}return t.prototype.triangulate=function(e,n){void 0===n&&(n=!0);var i=e.length;this.initialize(i);for(var r=0,o=0;i>3&&r<500;){r++;var s=!0,a=e[this._triPrev[o]],c=e[o],h=e[this._triNext[o]];if(Vector2Ext.isTriangleCCW(a,c,h)){var u=this._triNext[this._triNext[o]];do{if(t.testPointTriangle(e[u],a,c,h)){s=!1;break}u=this._triNext[u]}while(u!=this._triPrev[o])}else s=!1;s?(this.triangleIndices.push(this._triPrev[o]),this.triangleIndices.push(o),this.triangleIndices.push(this._triNext[o]),this._triNext[this._triPrev[o]]=this._triNext[o],this._triPrev[this._triNext[o]]=this._triPrev[o],i--,o=this._triPrev[o]):o=this._triNext[o]}this.triangleIndices.push(this._triPrev[o]),this.triangleIndices.push(o),this.triangleIndices.push(this._triNext[o]),n||this.triangleIndices.reverse()},t.prototype.initialize=function(t){this.triangleIndices.length=0,this._triNext.length<t&&(this._triNext.reverse(),this._triNext=new Array(Math.max(2*this._triNext.length,t))),this._triPrev.length<t&&(this._triPrev.reverse(),this._triPrev=new Array(Math.max(2*this._triPrev.length,t)));for(var e=0;e<t;e++)this._triPrev[e]=e-1,this._triNext[e]=e+1;this._triPrev[0]=t-1,this._triNext[t-1]=0},t.testPointTriangle=function(t,e,n,i){return!(Vector2Ext.cross(Vector2.subtract(t,e),Vector2.subtract(n,e))<0)&&(!(Vector2Ext.cross(Vector2.subtract(t,n),Vector2.subtract(i,n))<0)&&!(Vector2Ext.cross(Vector2.subtract(t,i),Vector2.subtract(e,i))<0))},t}(),Vector2Ext=function(){function t(){}return t.isTriangleCCW=function(t,e,n){return this.cross(Vector2.subtract(e,t),Vector2.subtract(n,e))<0},t.cross=function(t,e){return t.y*e.x-t.x*e.y},t.perpendicular=function(t,e){return new Vector2(-1*(e.y-t.y),e.x-t.x)},t.normalize=function(t){var e=Math.sqrt(t.x*t.x+t.y*t.y);return e>MathHelper.Epsilon?t=Vector2.divide(t,new Vector2(e)):t.x=t.y=0,t},t.transformA=function(t,e,n,i,r,o){for(var s=0;s<o;s++){var a=t[e+s],c=i[r+s];c.x=a.x*n.m11+a.y*n.m21+n.m31,c.y=a.x*n.m12+a.y*n.m22+n.m32,i[r+s]=c}},t.transformR=function(t,e){var n=t.x*e.m11+t.y*e.m21+e.m31,i=t.x*e.m12+t.y*e.m22+e.m32;return new Vector2(n,i)},t.transform=function(t,e,n){this.transformA(t,0,e,n,0,t.length)},t.round=function(t){return new Vector2(Math.round(t.x),Math.round(t.y))},t}(),WebGLUtils=function(){function t(){}return t.getContext=function(){return document.getElementsByTagName("canvas")[0].getContext("2d")},t}(),Layout=function(){function t(){this.clientArea=new Rectangle(0,0,SceneManager.stage.stageWidth,SceneManager.stage.stageHeight),this.safeArea=this.clientArea}return t.prototype.place=function(t,e,n,i){var r=new Rectangle(0,0,t.x,t.y);return 0!=(i&Alignment.left)?r.x=this.clientArea.x+this.clientArea.width*e:0!=(i&Alignment.right)?r.x=this.clientArea.x+this.clientArea.width*(1-e)-r.width:0!=(i&Alignment.horizontalCenter)&&(r.x=this.clientArea.x+(this.clientArea.width-r.width)/2+e*this.clientArea.width),0!=(i&Alignment.top)?r.y=this.clientArea.y+this.clientArea.height*n:0!=(i&Alignment.bottom)?r.y=this.clientArea.y+this.clientArea.height*(1-n)-r.height:0!=(i&Alignment.verticalCenter)&&(r.y=this.clientArea.y+(this.clientArea.height-r.height)/2+n*this.clientArea.height),r.left<this.safeArea.left&&(r.x=this.safeArea.left),r.right>this.safeArea.right&&(r.x=this.safeArea.right-r.width),r.top<this.safeArea.top&&(r.y=this.safeArea.top),r.bottom>this.safeArea.bottom&&(r.y=this.safeArea.bottom-r.height),r},t}();!function(t){t[t.none=0]="none",t[t.left=1]="left",t[t.right=2]="right",t[t.horizontalCenter=4]="horizontalCenter",t[t.top=8]="top",t[t.bottom=16]="bottom",t[t.verticalCenter=32]="verticalCenter",t[t.topLeft=9]="topLeft",t[t.topRight=10]="topRight",t[t.topCenter=12]="topCenter",t[t.bottomLeft=17]="bottomLeft",t[t.bottomRight=18]="bottomRight",t[t.bottomCenter=20]="bottomCenter",t[t.centerLeft=33]="centerLeft",t[t.centerRight=34]="centerRight",t[t.center=36]="center"}(Alignment||(Alignment={})),function(t){var e,n=function(){function t(t){void 0===t&&(t=i),this.getSystemTime=t,this._stopDuration=0,this._completeSlices=[]}return t.prototype.getState=function(){return void 0===this._startSystemTime?e.IDLE:void 0===this._stopSystemTime?e.RUNNING:e.STOPPED},t.prototype.isIdle=function(){return this.getState()===e.IDLE},t.prototype.isRunning=function(){return this.getState()===e.RUNNING},t.prototype.isStopped=function(){return this.getState()===e.STOPPED},t.prototype.slice=function(){return this.recordPendingSlice()},t.prototype.getCompletedSlices=function(){return Array.from(this._completeSlices)},t.prototype.getCompletedAndPendingSlices=function(){return this._completeSlices.concat([this.getPendingSlice()])},t.prototype.getPendingSlice=function(){return this.calculatePendingSlice()},t.prototype.getTime=function(){return this.caculateStopwatchTime()},t.prototype.calculatePendingSlice=function(t){return void 0===this._pendingSliceStartStopwatchTime?Object.freeze({startTime:0,endTime:0,duration:0}):(void 0===t&&(t=this.getTime()),Object.freeze({startTime:this._pendingSliceStartStopwatchTime,endTime:t,duration:t-this._pendingSliceStartStopwatchTime}))},t.prototype.caculateStopwatchTime=function(t){return void 0===this._startSystemTime?0:(void 0===t&&(t=this.getSystemTimeOfCurrentStopwatchTime()),t-this._startSystemTime-this._stopDuration)},t.prototype.getSystemTimeOfCurrentStopwatchTime=function(){return void 0===this._stopSystemTime?this.getSystemTime():this._stopSystemTime},t.prototype.reset=function(){this._startSystemTime=this._pendingSliceStartStopwatchTime=this._stopSystemTime=void 0,this._stopDuration=0,this._completeSlices=[]},t.prototype.start=function(t){if(void 0===t&&(t=!1),t&&this.reset(),void 0!==this._stopSystemTime){var e=(n=this.getSystemTime())-this._stopSystemTime;this._stopDuration+=e,this._stopSystemTime=void 0}else if(void 0===this._startSystemTime){var n=this.getSystemTime();this._startSystemTime=n,this._pendingSliceStartStopwatchTime=0}},t.prototype.stop=function(t){if(void 0===t&&(t=!1),void 0===this._startSystemTime)return 0;var e=this.getSystemTimeOfCurrentStopwatchTime();return t&&this.recordPendingSlice(this.caculateStopwatchTime(e)),this._stopSystemTime=e,this.getTime()},t.prototype.recordPendingSlice=function(t){if(void 0!==this._pendingSliceStartStopwatchTime){void 0===t&&(t=this.getTime());var e=this.calculatePendingSlice(t);return this._pendingSliceStartStopwatchTime=e.endTime,this._completeSlices.push(e),e}return this.calculatePendingSlice()},t}();t.Stopwatch=n,function(t){t.IDLE="IDLE",t.RUNNING="RUNNING",t.STOPPED="STOPPED"}(e||(e={})),t.setDefaultSystemTimeGetter=function(t){void 0===t&&(t=Date.now),i=t};var i=Date.now}(stopwatch||(stopwatch={}));var TimeRuler=function(){function t(){this._frameKey="frame",this._logKey="log",this.markers=[],this.stopwacth=new stopwatch.Stopwatch,this._markerNameToIdMap=new Map,this.showLog=!1,t.Instance=this,this._logs=new Array(2);for(var e=0;e<this._logs.length;++e)this._logs[e]=new FrameLog;this.sampleFrames=this.targetSampleFrames=1,this.width=.8*SceneManager.stage.stageWidth,this.onGraphicsDeviceReset()}return t.prototype.onGraphicsDeviceReset=function(){var e=new Layout;this._position=e.place(new Vector2(this.width,t.barHeight),0,.01,Alignment.bottomCenter).location},t.prototype.startFrame=function(){var e=this;new LockUtils(this._frameKey).lock().then(function(){e._updateCount=parseInt(egret.localStorage.getItem(e._frameKey),10),isNaN(e._updateCount)&&(e._updateCount=0);var n=e._updateCount;if(n+=1,egret.localStorage.setItem(e._frameKey,n.toString()),!(e.enabled&&1<n&&n<t.maxSampleFrames)){e._prevLog=e._logs[1&e.frameCount++],e._curLog=e._logs[1&e.frameCount];for(var i=e.stopwacth.getTime(),r=0;r<e._prevLog.bars.length;++r){for(var o=e._prevLog.bars[r],s=e._curLog.bars[r],a=0;a<o.nestCount;++a){var c=o.markerNests[a];o.markers[c].endTime=i,s.markerNests[a]=a,s.markers[a].markerId=o.markers[c].markerId,s.markers[a].beginTime=0,s.markers[a].endTime=-1,s.markers[a].color=o.markers[c].color}for(c=0;c<o.markCount;++c){var h=o.markers[c].endTime-o.markers[c].beginTime,u=o.markers[c].markerId,l=e.markers[u];l.logs[r].color=o.markers[c].color,l.logs[r].initialized?(l.logs[r].min=Math.min(l.logs[r].min,h),l.logs[r].max=Math.min(l.logs[r].max,h),l.logs[r].avg+=h,l.logs[r].avg*=.5,l.logs[r].samples++>=t.logSnapDuration&&(l.logs[r].snapMin=l.logs[r].min,l.logs[r].snapMax=l.logs[r].max,l.logs[r].snapAvg=l.logs[r].avg,l.logs[r].samples=0)):(l.logs[r].min=h,l.logs[r].max=h,l.logs[r].avg=h,l.logs[r].initialized=!0)}s.markCount=o.nestCount,s.nestCount=o.nestCount}e.stopwacth.reset(),e.stopwacth.start()}})},t.prototype.beginMark=function(e,n,i){var r=this;void 0===i&&(i=0),new LockUtils(this._frameKey).lock().then(function(){if(i<0||i>=t.maxBars)throw new Error("barIndex argument out of range");var o=r._curLog.bars[i];if(o.markCount>=t.maxSamples)throw new Error("exceeded sample count. either set larger number to timeruler.maxsaple or lower sample count");if(o.nestCount>=t.maxNestCall)throw new Error("exceeded nest count. either set larger number to timeruler.maxnestcall or lower nest calls");var s=r._markerNameToIdMap.get(e);isNaN(s)&&(s=r.markers.length,r._markerNameToIdMap.set(e,s)),o.markerNests[o.nestCount++]=o.markCount,o.markers[o.markCount].markerId=s,o.markers[o.markCount].color=n,o.markers[o.markCount].beginTime=r.stopwacth.getTime(),o.markers[o.markCount].endTime=-1})},t.prototype.endMark=function(e,n){var i=this;void 0===n&&(n=0),new LockUtils(this._frameKey).lock().then(function(){if(n<0||n>=t.maxBars)throw new Error("barIndex argument out of range");var r=i._curLog.bars[n];if(r.nestCount<=0)throw new Error("call beginMark method before calling endMark method");var o=i._markerNameToIdMap.get(e);if(isNaN(o))throw new Error("Marker "+e+" is not registered. Make sure you specifed same name as you used for beginMark method");var s=r.markerNests[--r.nestCount];if(r.markers[s].markerId!=o)throw new Error("Incorrect call order of beginMark/endMark method. beginMark(A), beginMark(B), endMark(B), endMark(A) But you can't called it like beginMark(A), beginMark(B), endMark(A), endMark(B).");r.markers[s].endTime=i.stopwacth.getTime()})},t.prototype.getAverageTime=function(e,n){if(e<0||e>=t.maxBars)throw new Error("barIndex argument out of range");var i=0,r=this._markerNameToIdMap.get(n);return r&&(i=this.markers[r].logs[e].avg),i},t.prototype.resetLog=function(){var t=this;new LockUtils(this._logKey).lock().then(function(){var e=parseInt(egret.localStorage.getItem(t._logKey),10);e+=1,egret.localStorage.setItem(t._logKey,e.toString()),t.markers.forEach(function(t){for(var e=0;e<t.logs.length;++e)t.logs[e].initialized=!1,t.logs[e].snapMin=0,t.logs[e].snapMax=0,t.logs[e].snapAvg=0,t.logs[e].min=0,t.logs[e].max=0,t.logs[e].avg=0,t.logs[e].samples=0})})},t.prototype.render=function(e,n){if(void 0===e&&(e=this._position),void 0===n&&(n=this.width),egret.localStorage.setItem(this._frameKey,"0"),this.showLog){var i=0,r=0;this._prevLog.bars.forEach(function(e){e.markCount>0&&(i+=t.barHeight+2*t.barPadding,r=Math.max(r,e.markers[e.markCount-1].endTime))});var o=this.sampleFrames*(1/60*1e3);this._frameAdjust=r>o?Math.max(0,this._frameAdjust)+1:Math.min(0,this._frameAdjust)-1,Math.max(this._frameAdjust)>t.autoAdjustDelay&&(this.sampleFrames=Math.min(t.maxSampleFrames,this.sampleFrames),this.sampleFrames=Math.max(this.targetSampleFrames,r/(1/60*1e3)+1),this._frameAdjust=0);e.y,t.barHeight}},t.maxBars=8,t.maxSamples=256,t.maxNestCall=32,t.barHeight=8,t.maxSampleFrames=4,t.logSnapDuration=120,t.barPadding=2,t.autoAdjustDelay=30,t}(),FrameLog=function(){return function(){this.bars=new Array(TimeRuler.maxBars),this.bars.fill(new MarkerCollection,0,TimeRuler.maxBars)}}(),MarkerCollection=function(){return function(){this.markers=new Array(TimeRuler.maxSamples),this.markCount=0,this.markerNests=new Array(TimeRuler.maxNestCall),this.nestCount=0,this.markers.fill(new Marker,0,TimeRuler.maxSamples),this.markerNests.fill(0,0,TimeRuler.maxNestCall)}}(),Marker=function(){return function(){this.markerId=0,this.beginTime=0,this.endTime=0,this.color=0}}(),MarkerInfo=function(){return function(t){this.logs=new Array(TimeRuler.maxBars),this.name=t,this.logs.fill(new MarkerLog,0,TimeRuler.maxBars)}}(),MarkerLog=function(){return function(){this.snapMin=0,this.snapMax=0,this.snapAvg=0,this.min=0,this.max=0,this.avg=0,this.samples=0,this.color=0,this.initialized=!1}}(); |