diff --git a/demo/libs/framework/framework.js b/demo/libs/framework/framework.js index d1c2f5ea..d970796c 100644 --- a/demo/libs/framework/framework.js +++ b/demo/libs/framework/framework.js @@ -1,134 +1,155 @@ -var __extends = (this && this.__extends) || (function() { - var extendStatics = Object.setPrototypeOf || - ({__proto__ : []} instanceof Array && - function(d, b) { d.__proto__ = b; }) || - function(d, b) { - for (var p in b) - if (b.hasOwnProperty(p)) - d[p] = b[p]; - }; - return function(d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null - ? Object.create(b) - : (__.prototype = b.prototype, new __()); - }; - })(); -var __awaiter = - (this && this.__awaiter) || function(thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) - : new P(function(resolve) { resolve(result.value); }) - .then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; -var __generator = (this && this.__generator) || function(thisArg, body) { - var _ = { - label : 0, - sent : function() { - if (t[0] & 1) - throw t[1]; - return t[1]; - }, - trys : [], - ops : [] - }, - f, y, t, g; - return g = {next : verb(0), "throw" : verb(1), "return" : verb(2)}, - typeof Symbol === "function" && - (g[Symbol.iterator] = function() { return this; }), - g; - function verb(n) { - return function(v) { return step([ n, v ]); }; - } - function step(op) { - if (f) - throw new TypeError("Generator is already executing."); - while (_) - try { - if (f = 1, - y && - (t = op[0] & 2 ? y["return"] - : op[0] ? y["throw"] || - ((t = y["return"]) && t.call(y), 0) - : y.next) && - !(t = t.call(y, op[1])).done) - return t; - if (y = 0, t) - op = [ op[0] & 2, t.value ]; - switch (op[0]) { - case 0: - case 1: - t = op; - break; - case 4: - _.label++; - return {value : op[1], done : false}; - case 5: - _.label++; - y = op[1]; - op = [ 0 ]; - continue; - case 7: - op = _.ops.pop(); - _.trys.pop(); - continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && - (op[0] === 6 || op[0] === 2)) { - _ = 0; - continue; - } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { - _.label = op[1]; - break; - } - if (op[0] === 6 && _.label < t[1]) { - _.label = t[1]; - t = op; - break; - } - if (t && _.label < t[2]) { - _.label = t[2]; - _.ops.push(op); - break; - } - if (t[2]) - _.ops.pop(); - _.trys.pop(); - continue; - } - op = body.call(thisArg, _); - } catch (e) { - op = [ 6, e ]; - y = 0; - } finally { - f = t = 0; +var __extends = + (this && this.__extends) || + (function () { + var extendStatics = + Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && + function (d, b) { + d.__proto__ = b; + }) || + function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + }; + return function (d, b) { + extendStatics(d, b); + function __() { + this.constructor = d; } - if (op[0] & 5) - throw op[1]; - return {value : op[0] ? op[1] : void 0, done : true}; - } -}; -Array.prototype.findIndex = function(predicate) { + d.prototype = + b === null + ? Object.create(b) + : ((__.prototype = b.prototype), new __()); + }; + })(); +var __awaiter = + (this && this.__awaiter) || + function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done + ? resolve(result.value) + : new P(function (resolve) { + resolve(result.value); + }).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; +var __generator = + (this && this.__generator) || + function (thisArg, body) { + var _ = { + label: 0, + sent: function () { + if (t[0] & 1) throw t[1]; + return t[1]; + }, + trys: [], + ops: [], + }, + f, + y, + t, + g; + return ( + (g = { next: verb(0), throw: verb(1), return: verb(2) }), + typeof Symbol === "function" && + (g[Symbol.iterator] = function () { + return this; + }), + g + ); + function verb(n) { + return function (v) { + return step([n, v]); + }; + } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) + try { + if ( + ((f = 1), + y && + (t = + op[0] & 2 + ? y["return"] + : op[0] + ? y["throw"] || ((t = y["return"]) && t.call(y), 0) + : y.next) && + !(t = t.call(y, op[1])).done) + ) + return t; + if (((y = 0), t)) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: + case 1: + t = op; + break; + case 4: + _.label++; + return { value: op[1], done: false }; + case 5: + _.label++; + y = op[1]; + op = [0]; + continue; + case 7: + op = _.ops.pop(); + _.trys.pop(); + continue; + default: + if ( + !((t = _.trys), (t = t.length > 0 && t[t.length - 1])) && + (op[0] === 6 || op[0] === 2) + ) { + _ = 0; + continue; + } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { + _.label = op[1]; + break; + } + if (op[0] === 6 && _.label < t[1]) { + _.label = t[1]; + t = op; + break; + } + if (t && _.label < t[2]) { + _.label = t[2]; + _.ops.push(op); + break; + } + if (t[2]) _.ops.pop(); + _.trys.pop(); + continue; + } + op = body.call(thisArg, _); + } catch (e) { + op = [6, e]; + y = 0; + } finally { + f = t = 0; + } + if (op[0] & 5) throw op[1]; + return { value: op[0] ? op[1] : void 0, done: true }; + } + }; +Array.prototype.findIndex = function (predicate) { function findIndex(array, predicate) { for (var i = 0, len = array.length; i < len; i++) { if (predicate.call(arguments[2], array[i], i, array)) { @@ -139,25 +160,29 @@ Array.prototype.findIndex = function(predicate) { } return findIndex(this, predicate); }; -Array.prototype.any = function(predicate) { - function any(array, predicate) { return array.findIndex(predicate) > -1; } +Array.prototype.any = function (predicate) { + function any(array, predicate) { + return array.findIndex(predicate) > -1; + } return any(this, predicate); }; -Array.prototype.firstOrDefault = function(predicate) { +Array.prototype.firstOrDefault = function (predicate) { function firstOrDefault(array, predicate) { var index = array.findIndex(predicate); return index == -1 ? null : array[index]; } return firstOrDefault(this, predicate); }; -Array.prototype.find = function(predicate) { - function find(array, predicate) { return array.firstOrDefault(predicate); } +Array.prototype.find = function (predicate) { + function find(array, predicate) { + return array.firstOrDefault(predicate); + } return find(this, predicate); }; -Array.prototype.where = function(predicate) { +Array.prototype.where = function (predicate) { function where(array, predicate) { - if (typeof (array.reduce) === "function") { - return array.reduce(function(ret, element, index) { + if (typeof array.reduce === "function") { + return array.reduce(function (ret, element, index) { if (predicate.call(arguments[2], element, index, array)) { ret.push(element); } @@ -176,15 +201,19 @@ Array.prototype.where = function(predicate) { } return where(this, predicate); }; -Array.prototype.count = function(predicate) { - function count(array, predicate) { return array.where(predicate).length; } +Array.prototype.count = function (predicate) { + function count(array, predicate) { + return array.where(predicate).length; + } return count(this, predicate); }; -Array.prototype.findAll = function(predicate) { - function findAll(array, predicate) { return array.where(predicate); } +Array.prototype.findAll = function (predicate) { + function findAll(array, predicate) { + return array.where(predicate); + } return findAll(this, predicate); }; -Array.prototype.contains = function(value) { +Array.prototype.contains = function (value) { function contains(array, value) { for (var i = 0, len = array.length; i < len; i++) { if (array[i] == value) { @@ -195,7 +224,7 @@ Array.prototype.contains = function(value) { } return contains(this, value); }; -Array.prototype.removeAll = function(predicate) { +Array.prototype.removeAll = function (predicate) { function removeAll(array, predicate) { var index; do { @@ -207,9 +236,11 @@ Array.prototype.removeAll = function(predicate) { } removeAll(this, predicate); }; -Array.prototype.remove = function(element) { +Array.prototype.remove = function (element) { function remove(array, element) { - var index = array.findIndex(function(x) { return x === element; }); + var index = array.findIndex(function (x) { + return x === element; + }); if (index >= 0) { array.splice(index, 1); return true; @@ -219,18 +250,22 @@ Array.prototype.remove = function(element) { } return remove(this, element); }; -Array.prototype.removeAt = function(index) { - function removeAt(array, index) { array.splice(index, 1); } +Array.prototype.removeAt = function (index) { + function removeAt(array, index) { + array.splice(index, 1); + } return removeAt(this, index); }; -Array.prototype.removeRange = function(index, count) { - function removeRange(array, index, count) { array.splice(index, count); } +Array.prototype.removeRange = function (index, count) { + function removeRange(array, index, count) { + array.splice(index, count); + } return removeRange(this, index, count); }; -Array.prototype.select = function(selector) { +Array.prototype.select = function (selector) { function select(array, selector) { - if (typeof (array.reduce) === "function") { - return array.reduce(function(ret, element, index) { + if (typeof array.reduce === "function") { + return array.reduce(function (ret, element, index) { ret.push(selector.call(arguments[2], element, index, array)); return ret; }, []); @@ -244,44 +279,47 @@ Array.prototype.select = function(selector) { } return select(this, selector); }; -Array.prototype.orderBy = function(keySelector, comparer) { +Array.prototype.orderBy = function (keySelector, comparer) { function orderBy(array, keySelector, comparer) { - array.sort(function(x, y) { + array.sort(function (x, y) { var v1 = keySelector(x); var v2 = keySelector(y); if (comparer) { return comparer(v1, v2); } else { - return (v1 > v2) ? 1 : -1; + return v1 > v2 ? 1 : -1; } }); return array; } return orderBy(this, keySelector, comparer); }; -Array.prototype.orderByDescending = function(keySelector, comparer) { +Array.prototype.orderByDescending = function (keySelector, comparer) { function orderByDescending(array, keySelector, comparer) { - array.sort(function(x, y) { + array.sort(function (x, y) { var v1 = keySelector(x); var v2 = keySelector(y); if (comparer) { return -comparer(v1, v2); } else { - return (v1 < v2) ? 1 : -1; + return v1 < v2 ? 1 : -1; } }); return array; } return orderByDescending(this, keySelector, comparer); }; -Array.prototype.groupBy = function(keySelector) { +Array.prototype.groupBy = function (keySelector) { function groupBy(array, keySelector) { - if (typeof (array.reduce) === "function") { + if (typeof array.reduce === "function") { var keys_1 = []; - return array.reduce(function(groups, element, index) { + return array.reduce(function (groups, element, index) { var key = JSON.stringify( - keySelector.call(arguments[1], element, index, array)); - var index2 = keys_1.findIndex(function(x) { return x === key; }); + keySelector.call(arguments[1], element, index, array) + ); + var index2 = keys_1.findIndex(function (x) { + return x === key; + }); if (index2 < 0) { index2 = keys_1.push(key) - 1; } @@ -294,10 +332,13 @@ Array.prototype.groupBy = function(keySelector) { } else { var groups = []; var keys = []; - var _loop_1 = function(i, len) { + var _loop_1 = function (i, len) { var key = JSON.stringify( - keySelector.call(arguments_1[1], array[i], i, array)); - var index = keys.findIndex(function(x) { return x === key; }); + keySelector.call(arguments_1[1], array[i], i, array) + ); + var index = keys.findIndex(function (x) { + return x === key; + }); if (index < 0) { index = keys.push(key) - 1; } @@ -315,7 +356,7 @@ Array.prototype.groupBy = function(keySelector) { } return groupBy(this, keySelector); }; -Array.prototype.sum = function(selector) { +Array.prototype.sum = function (selector) { function sum(array, selector) { var ret; for (var i = 0, len = array.length; i < len; i++) { @@ -337,17 +378,17 @@ Array.prototype.sum = function(selector) { } return sum(this, selector); }; -var PriorityQueueNode = (function() { +var PriorityQueueNode = (function () { function PriorityQueueNode() { this.priority = 0; this.insertionIndex = 0; this.queueIndex = 0; } return PriorityQueueNode; -}()); -var AStarPathfinder = (function() { +})(); +var AStarPathfinder = (function () { function AStarPathfinder() {} - AStarPathfinder.search = function(graph, start, goal) { + AStarPathfinder.search = function (graph, start, goal) { var _this = this; var foundPath = false; var cameFrom = new Map(); @@ -356,15 +397,15 @@ var AStarPathfinder = (function() { var frontier = new PriorityQueue(1000); frontier.enqueue(new AStarNode(start), 0); costSoFar.set(start, 0); - var _loop_2 = function() { + var _loop_2 = function () { var current = frontier.dequeue(); if (JSON.stringify(current.data) == JSON.stringify(goal)) { foundPath = true; return "break"; } - graph.getNeighbors(current.data).forEach(function(next) { + graph.getNeighbors(current.data).forEach(function (next) { var newCost = - costSoFar.get(current.data) + graph.cost(current.data, next); + costSoFar.get(current.data) + graph.cost(current.data, next); if (!_this.hasKey(costSoFar, next) || newCost < costSoFar.get(next)) { costSoFar.set(next, newCost); var priority = newCost + graph.heuristic(next, goal); @@ -375,32 +416,29 @@ var AStarPathfinder = (function() { }; while (frontier.count > 0) { var state_1 = _loop_2(); - if (state_1 === "break") - break; + if (state_1 === "break") break; } return foundPath ? this.recontructPath(cameFrom, start, goal) : null; }; - AStarPathfinder.hasKey = function(map, compareKey) { + AStarPathfinder.hasKey = function (map, compareKey) { var iterator = map.keys(); var r; - while (r = iterator.next(), !r.done) { - if (JSON.stringify(r.value) == JSON.stringify(compareKey)) - return true; + while (((r = iterator.next()), !r.done)) { + if (JSON.stringify(r.value) == JSON.stringify(compareKey)) return true; } return false; }; - AStarPathfinder.getKey = function(map, compareKey) { + AStarPathfinder.getKey = function (map, compareKey) { var iterator = map.keys(); var valueIterator = map.values(); var r; var v; - while (r = iterator.next(), v = valueIterator.next(), !r.done) { - if (JSON.stringify(r.value) == JSON.stringify(compareKey)) - return v.value; + while (((r = iterator.next()), (v = valueIterator.next()), !r.done)) { + if (JSON.stringify(r.value) == JSON.stringify(compareKey)) return v.value; } return null; }; - AStarPathfinder.recontructPath = function(cameFrom, start, goal) { + AStarPathfinder.recontructPath = function (cameFrom, start, goal) { var path = []; var current = goal; path.push(goal); @@ -412,8 +450,8 @@ var AStarPathfinder = (function() { return path; }; return AStarPathfinder; -}()); -var AStarNode = (function(_super) { +})(); +var AStarNode = (function (_super) { __extends(AStarNode, _super); function AStarNode(data) { var _this = _super.call(this) || this; @@ -421,11 +459,14 @@ var AStarNode = (function(_super) { return _this; } return AStarNode; -}(PriorityQueueNode)); -var AstarGridGraph = (function() { +})(PriorityQueueNode); +var AstarGridGraph = (function () { function AstarGridGraph(width, height) { this.dirs = [ - new Point(1, 0), new Point(0, -1), new Point(-1, 0), new Point(0, 1) + new Point(1, 0), + new Point(0, -1), + new Point(-1, 0), + new Point(0, 1), ]; this.walls = []; this.weightedNodes = []; @@ -435,55 +476,65 @@ var AstarGridGraph = (function() { this._width = width; this._height = height; } - AstarGridGraph.prototype.isNodeInBounds = function(node) { - return 0 <= node.x && node.x < this._width && 0 <= node.y && - node.y < this._height; + AstarGridGraph.prototype.isNodeInBounds = function (node) { + return ( + 0 <= node.x && + node.x < this._width && + 0 <= node.y && + node.y < this._height + ); }; - AstarGridGraph.prototype.isNodePassable = function(node) { - return !this.walls.firstOrDefault(function( - wall) { return JSON.stringify(wall) == JSON.stringify(node); }); + AstarGridGraph.prototype.isNodePassable = function (node) { + return !this.walls.firstOrDefault(function (wall) { + return JSON.stringify(wall) == JSON.stringify(node); + }); }; - AstarGridGraph.prototype.search = function( - start, goal) { return AStarPathfinder.search(this, start, goal); }; - AstarGridGraph.prototype.getNeighbors = function(node) { + AstarGridGraph.prototype.search = function (start, goal) { + return AStarPathfinder.search(this, start, goal); + }; + AstarGridGraph.prototype.getNeighbors = function (node) { var _this = this; this._neighbors.length = 0; - this.dirs.forEach(function(dir) { + this.dirs.forEach(function (dir) { var next = new Point(node.x + dir.x, node.y + dir.y); if (_this.isNodeInBounds(next) && _this.isNodePassable(next)) _this._neighbors.push(next); }); return this._neighbors; }; - AstarGridGraph.prototype.cost = function(from, to) { - return this.weightedNodes.find(function( - p) { return JSON.stringify(p) == JSON.stringify(to); }) - ? this.weightedNodeWeight - : this.defaultWeight; + AstarGridGraph.prototype.cost = function (from, to) { + return this.weightedNodes.find(function (p) { + return JSON.stringify(p) == JSON.stringify(to); + }) + ? this.weightedNodeWeight + : this.defaultWeight; + }; + AstarGridGraph.prototype.heuristic = function (node, goal) { + return Math.abs(node.x - goal.x) + Math.abs(node.y - goal.y); }; - AstarGridGraph.prototype.heuristic = function( - node, - goal) { return Math.abs(node.x - goal.x) + Math.abs(node.y - goal.y); }; return AstarGridGraph; -}()); -var PriorityQueue = (function() { +})(); +var PriorityQueue = (function () { function PriorityQueue(maxNodes) { this._numNodes = 0; this._nodes = new Array(maxNodes + 1); this._numNodesEverEnqueued = 0; } - PriorityQueue.prototype.clear = function() { + PriorityQueue.prototype.clear = function () { this._nodes.splice(1, this._numNodes); this._numNodes = 0; }; Object.defineProperty(PriorityQueue.prototype, "count", { - get : function() { return this._numNodes; }, - enumerable : true, - configurable : true + get: function () { + return this._numNodes; + }, + enumerable: true, + configurable: true, }); - PriorityQueue.prototype.contains = function( - node) { return (this._nodes[node.queueIndex] == node); }; - PriorityQueue.prototype.enqueue = function(node, priority) { + PriorityQueue.prototype.contains = function (node) { + return this._nodes[node.queueIndex] == node; + }; + PriorityQueue.prototype.enqueue = function (node, priority) { node.priority = priority; this._numNodes++; this._nodes[this._numNodes] = node; @@ -491,12 +542,12 @@ var PriorityQueue = (function() { node.insertionIndex = this._numNodesEverEnqueued++; this.cascadeUp(this._nodes[this._numNodes]); }; - PriorityQueue.prototype.dequeue = function() { + PriorityQueue.prototype.dequeue = function () { var returnMe = this._nodes[1]; this.remove(returnMe); return returnMe; }; - PriorityQueue.prototype.remove = function(node) { + PriorityQueue.prototype.remove = function (node) { if (node.queueIndex == this._numNodes) { this._nodes[this._numNodes] = null; this._numNodes--; @@ -508,25 +559,28 @@ var PriorityQueue = (function() { this._numNodes--; this.onNodeUpdated(formerLastNode); }; - PriorityQueue.prototype.isValidQueue = function() { + PriorityQueue.prototype.isValidQueue = function () { for (var i = 1; i < this._nodes.length; i++) { if (this._nodes[i]) { var childLeftIndex = 2 * i; - if (childLeftIndex < this._nodes.length && - this._nodes[childLeftIndex] && - this.hasHigherPriority(this._nodes[childLeftIndex], this._nodes[i])) + if ( + childLeftIndex < this._nodes.length && + this._nodes[childLeftIndex] && + this.hasHigherPriority(this._nodes[childLeftIndex], this._nodes[i]) + ) return false; var childRightIndex = childLeftIndex + 1; - if (childRightIndex < this._nodes.length && - this._nodes[childRightIndex] && - this.hasHigherPriority(this._nodes[childRightIndex], - this._nodes[i])) + if ( + childRightIndex < this._nodes.length && + this._nodes[childRightIndex] && + this.hasHigherPriority(this._nodes[childRightIndex], this._nodes[i]) + ) return false; } } return true; }; - PriorityQueue.prototype.onNodeUpdated = function(node) { + PriorityQueue.prototype.onNodeUpdated = function (node) { var parentIndex = Math.floor(node.queueIndex / 2); var parentNode = this._nodes[parentIndex]; if (parentIndex > 0 && this.hasHigherPriority(node, parentNode)) { @@ -535,7 +589,7 @@ var PriorityQueue = (function() { this.cascadeDown(node); } }; - PriorityQueue.prototype.cascadeDown = function(node) { + PriorityQueue.prototype.cascadeDown = function (node) { var newParent; var finalQueueIndex = node.queueIndex; while (true) { @@ -569,46 +623,47 @@ var PriorityQueue = (function() { } } }; - PriorityQueue.prototype.cascadeUp = function(node) { + PriorityQueue.prototype.cascadeUp = function (node) { var parent = Math.floor(node.queueIndex / 2); while (parent >= 1) { var parentNode = this._nodes[parent]; - if (this.hasHigherPriority(parentNode, node)) - break; + if (this.hasHigherPriority(parentNode, node)) break; this.swap(node, parentNode); parent = Math.floor(node.queueIndex / 2); } }; - PriorityQueue.prototype.swap = function(node1, node2) { + PriorityQueue.prototype.swap = function (node1, node2) { this._nodes[node1.queueIndex] = node2; this._nodes[node2.queueIndex] = node1; var temp = node1.queueIndex; node1.queueIndex = node2.queueIndex; node2.queueIndex = temp; }; - PriorityQueue.prototype.hasHigherPriority = function(higher, lower) { - return (higher.priority < lower.priority || - (higher.priority == lower.priority && - higher.insertionIndex < lower.insertionIndex)); + PriorityQueue.prototype.hasHigherPriority = function (higher, lower) { + return ( + higher.priority < lower.priority || + (higher.priority == lower.priority && + higher.insertionIndex < lower.insertionIndex) + ); }; return PriorityQueue; -}()); -var BreadthFirstPathfinder = (function() { +})(); +var BreadthFirstPathfinder = (function () { function BreadthFirstPathfinder() {} - BreadthFirstPathfinder.search = function(graph, start, goal) { + BreadthFirstPathfinder.search = function (graph, start, goal) { var _this = this; var foundPath = false; var frontier = []; frontier.unshift(start); var cameFrom = new Map(); cameFrom.set(start, start); - var _loop_3 = function() { + var _loop_3 = function () { var current = frontier.shift(); if (JSON.stringify(current) == JSON.stringify(goal)) { foundPath = true; return "break"; } - graph.getNeighbors(current).forEach(function(next) { + graph.getNeighbors(current).forEach(function (next) { if (!_this.hasKey(cameFrom, next)) { frontier.unshift(next); cameFrom.set(next, current); @@ -617,41 +672,43 @@ var BreadthFirstPathfinder = (function() { }; while (frontier.length > 0) { var state_2 = _loop_3(); - if (state_2 === "break") - break; + if (state_2 === "break") break; } - return foundPath ? AStarPathfinder.recontructPath(cameFrom, start, goal) - : null; + return foundPath + ? AStarPathfinder.recontructPath(cameFrom, start, goal) + : null; }; - BreadthFirstPathfinder.hasKey = function(map, compareKey) { + BreadthFirstPathfinder.hasKey = function (map, compareKey) { var iterator = map.keys(); var r; - while (r = iterator.next(), !r.done) { - if (JSON.stringify(r.value) == JSON.stringify(compareKey)) - return true; + while (((r = iterator.next()), !r.done)) { + if (JSON.stringify(r.value) == JSON.stringify(compareKey)) return true; } return false; }; return BreadthFirstPathfinder; -}()); -var UnweightedGraph = (function() { - function UnweightedGraph() { this.edges = new Map(); } - UnweightedGraph.prototype.addEdgesForNode = function(node, edges) { +})(); +var UnweightedGraph = (function () { + function UnweightedGraph() { + this.edges = new Map(); + } + UnweightedGraph.prototype.addEdgesForNode = function (node, edges) { this.edges.set(node, edges); return this; }; - UnweightedGraph.prototype.getNeighbors = function( - node) { return this.edges.get(node); }; + UnweightedGraph.prototype.getNeighbors = function (node) { + return this.edges.get(node); + }; return UnweightedGraph; -}()); -var Point = (function() { +})(); +var Point = (function () { function Point(x, y) { this.x = x ? x : 0; this.y = y ? y : this.x; } return Point; -}()); -var UnweightedGridGraph = (function() { +})(); +var UnweightedGridGraph = (function () { function UnweightedGridGraph(width, height, allowDiagonalSearch) { if (allowDiagonalSearch === void 0) { allowDiagonalSearch = false; @@ -660,31 +717,42 @@ var UnweightedGridGraph = (function() { this._neighbors = new Array(4); this._width = width; this._hegiht = height; - this._dirs = allowDiagonalSearch ? UnweightedGridGraph.COMPASS_DIRS - : UnweightedGridGraph.CARDINAL_DIRS; + this._dirs = allowDiagonalSearch + ? UnweightedGridGraph.COMPASS_DIRS + : UnweightedGridGraph.CARDINAL_DIRS; } - UnweightedGridGraph.prototype.isNodeInBounds = function(node) { - return 0 <= node.x && node.x < this._width && 0 <= node.y && - node.y < this._hegiht; + UnweightedGridGraph.prototype.isNodeInBounds = function (node) { + return ( + 0 <= node.x && + node.x < this._width && + 0 <= node.y && + node.y < this._hegiht + ); }; - UnweightedGridGraph.prototype.isNodePassable = function(node) { - return !this.walls.firstOrDefault(function( - wall) { return JSON.stringify(wall) == JSON.stringify(node); }); + UnweightedGridGraph.prototype.isNodePassable = function (node) { + return !this.walls.firstOrDefault(function (wall) { + return JSON.stringify(wall) == JSON.stringify(node); + }); }; - UnweightedGridGraph.prototype.getNeighbors = function(node) { + UnweightedGridGraph.prototype.getNeighbors = function (node) { var _this = this; this._neighbors.length = 0; - this._dirs.forEach(function(dir) { + this._dirs.forEach(function (dir) { var next = new Point(node.x + dir.x, node.y + dir.y); if (_this.isNodeInBounds(next) && _this.isNodePassable(next)) _this._neighbors.push(next); }); return this._neighbors; }; - UnweightedGridGraph.prototype.search = function( - start, goal) { return BreadthFirstPathfinder.search(this, start, goal); }; - UnweightedGridGraph.CARDINAL_DIRS = - [ new Point(1, 0), new Point(0, -1), new Point(-1, 0), new Point(0, -1) ]; + UnweightedGridGraph.prototype.search = function (start, goal) { + return BreadthFirstPathfinder.search(this, start, goal); + }; + UnweightedGridGraph.CARDINAL_DIRS = [ + new Point(1, 0), + new Point(0, -1), + new Point(-1, 0), + new Point(0, -1), + ]; UnweightedGridGraph.COMPASS_DIRS = [ new Point(1, 0), new Point(1, -1), @@ -696,8 +764,8 @@ var UnweightedGridGraph = (function() { new Point(1, 1), ]; return UnweightedGridGraph; -}()); -var WeightedGridGraph = (function() { +})(); +var WeightedGridGraph = (function () { function WeightedGridGraph(width, height, allowDiagonalSearch) { if (allowDiagonalSearch === void 0) { allowDiagonalSearch = false; @@ -709,37 +777,49 @@ var WeightedGridGraph = (function() { this._neighbors = new Array(4); this._width = width; this._height = height; - this._dirs = allowDiagonalSearch ? WeightedGridGraph.COMPASS_DIRS - : WeightedGridGraph.CARDINAL_DIRS; + this._dirs = allowDiagonalSearch + ? WeightedGridGraph.COMPASS_DIRS + : WeightedGridGraph.CARDINAL_DIRS; } - WeightedGridGraph.prototype.isNodeInBounds = function(node) { - return 0 <= node.x && node.x < this._width && 0 <= node.y && - node.y < this._height; + WeightedGridGraph.prototype.isNodeInBounds = function (node) { + return ( + 0 <= node.x && + node.x < this._width && + 0 <= node.y && + node.y < this._height + ); }; - WeightedGridGraph.prototype.isNodePassable = function(node) { - return !this.walls.firstOrDefault(function( - wall) { return JSON.stringify(wall) == JSON.stringify(node); }); + WeightedGridGraph.prototype.isNodePassable = function (node) { + return !this.walls.firstOrDefault(function (wall) { + return JSON.stringify(wall) == JSON.stringify(node); + }); }; - WeightedGridGraph.prototype.search = function( - start, goal) { return WeightedPathfinder.search(this, start, goal); }; - WeightedGridGraph.prototype.getNeighbors = function(node) { + WeightedGridGraph.prototype.search = function (start, goal) { + return WeightedPathfinder.search(this, start, goal); + }; + WeightedGridGraph.prototype.getNeighbors = function (node) { var _this = this; this._neighbors.length = 0; - this._dirs.forEach(function(dir) { + this._dirs.forEach(function (dir) { var next = new Point(node.x + dir.x, node.y + dir.y); if (_this.isNodeInBounds(next) && _this.isNodePassable(next)) _this._neighbors.push(next); }); return this._neighbors; }; - WeightedGridGraph.prototype.cost = function(from, to) { - return this.weightedNodes.find(function( - t) { return JSON.stringify(t) == JSON.stringify(to); }) - ? this.weightedNodeWeight - : this.defaultWeight; + WeightedGridGraph.prototype.cost = function (from, to) { + return this.weightedNodes.find(function (t) { + return JSON.stringify(t) == JSON.stringify(to); + }) + ? this.weightedNodeWeight + : this.defaultWeight; }; - WeightedGridGraph.CARDINAL_DIRS = - [ new Point(1, 0), new Point(0, -1), new Point(-1, 0), new Point(0, 1) ]; + WeightedGridGraph.CARDINAL_DIRS = [ + new Point(1, 0), + new Point(0, -1), + new Point(-1, 0), + new Point(0, 1), + ]; WeightedGridGraph.COMPASS_DIRS = [ new Point(1, 0), new Point(1, -1), @@ -751,8 +831,8 @@ var WeightedGridGraph = (function() { new Point(1, 1), ]; return WeightedGridGraph; -}()); -var WeightedNode = (function(_super) { +})(); +var WeightedNode = (function (_super) { __extends(WeightedNode, _super); function WeightedNode(data) { var _this = _super.call(this) || this; @@ -760,10 +840,10 @@ var WeightedNode = (function(_super) { return _this; } return WeightedNode; -}(PriorityQueueNode)); -var WeightedPathfinder = (function() { +})(PriorityQueueNode); +var WeightedPathfinder = (function () { function WeightedPathfinder() {} - WeightedPathfinder.search = function(graph, start, goal) { + WeightedPathfinder.search = function (graph, start, goal) { var _this = this; var foundPath = false; var cameFrom = new Map(); @@ -772,15 +852,15 @@ var WeightedPathfinder = (function() { var frontier = new PriorityQueue(1000); frontier.enqueue(new WeightedNode(start), 0); costSoFar.set(start, 0); - var _loop_4 = function() { + var _loop_4 = function () { var current = frontier.dequeue(); if (JSON.stringify(current.data) == JSON.stringify(goal)) { foundPath = true; return "break"; } - graph.getNeighbors(current.data).forEach(function(next) { + graph.getNeighbors(current.data).forEach(function (next) { var newCost = - costSoFar.get(current.data) + graph.cost(current.data, next); + costSoFar.get(current.data) + graph.cost(current.data, next); if (!_this.hasKey(costSoFar, next) || newCost < costSoFar.get(next)) { costSoFar.set(next, newCost); var priprity = newCost; @@ -791,32 +871,29 @@ var WeightedPathfinder = (function() { }; while (frontier.count > 0) { var state_3 = _loop_4(); - if (state_3 === "break") - break; + if (state_3 === "break") break; } return foundPath ? this.recontructPath(cameFrom, start, goal) : null; }; - WeightedPathfinder.hasKey = function(map, compareKey) { + WeightedPathfinder.hasKey = function (map, compareKey) { var iterator = map.keys(); var r; - while (r = iterator.next(), !r.done) { - if (JSON.stringify(r.value) == JSON.stringify(compareKey)) - return true; + while (((r = iterator.next()), !r.done)) { + if (JSON.stringify(r.value) == JSON.stringify(compareKey)) return true; } return false; }; - WeightedPathfinder.getKey = function(map, compareKey) { + WeightedPathfinder.getKey = function (map, compareKey) { var iterator = map.keys(); var valueIterator = map.values(); var r; var v; - while (r = iterator.next(), v = valueIterator.next(), !r.done) { - if (JSON.stringify(r.value) == JSON.stringify(compareKey)) - return v.value; + while (((r = iterator.next()), (v = valueIterator.next()), !r.done)) { + if (JSON.stringify(r.value) == JSON.stringify(compareKey)) return v.value; } return null; }; - WeightedPathfinder.recontructPath = function(cameFrom, start, goal) { + WeightedPathfinder.recontructPath = function (cameFrom, start, goal) { var path = []; var current = goal; path.push(goal); @@ -828,30 +905,32 @@ var WeightedPathfinder = (function() { return path; }; return WeightedPathfinder; -}()); -var DebugDefaults = (function() { +})(); +var DebugDefaults = (function () { function DebugDefaults() {} - DebugDefaults.verletParticle = 0xDC345E; - DebugDefaults.verletConstraintEdge = 0x433E36; + DebugDefaults.verletParticle = 0xdc345e; + DebugDefaults.verletConstraintEdge = 0x433e36; return DebugDefaults; -}()); -var Component = (function(_super) { +})(); +var Component = (function (_super) { __extends(Component, _super); function Component() { - var _this = _super !== null && _super.apply(this, arguments) || this; + var _this = (_super !== null && _super.apply(this, arguments)) || this; _this._enabled = true; _this.updateInterval = 1; return _this; } Object.defineProperty(Component.prototype, "enabled", { - get : function() { + get: function () { return this.entity ? this.entity.enabled && this._enabled : this._enabled; }, - set : function(value) { this.setEnabled(value); }, - enumerable : true, - configurable : true + set: function (value) { + this.setEnabled(value); + }, + enumerable: true, + configurable: true, }); - Component.prototype.setEnabled = function(isEnabled) { + Component.prototype.setEnabled = function (isEnabled) { if (this._enabled != isEnabled) { this._enabled = isEnabled; if (this._enabled) { @@ -862,26 +941,28 @@ var Component = (function(_super) { } return this; }; - Component.prototype.initialize = function() {}; - Component.prototype.onAddedToEntity = function() {}; - Component.prototype.onRemovedFromEntity = function() {}; - Component.prototype.onEnabled = function() {}; - Component.prototype.onDisabled = function() {}; - Component.prototype.onEntityTransformChanged = function(comp) {}; - Component.prototype.update = function() {}; - Component.prototype.debugRender = function() {}; - Component.prototype.registerComponent = function() { - this.entity.componentBits.set(ComponentTypeManager.getIndexFor(this), - false); + Component.prototype.initialize = function () {}; + Component.prototype.onAddedToEntity = function () {}; + Component.prototype.onRemovedFromEntity = function () {}; + Component.prototype.onEnabled = function () {}; + Component.prototype.onDisabled = function () {}; + Component.prototype.onEntityTransformChanged = function (comp) {}; + Component.prototype.update = function () {}; + Component.prototype.debugRender = function () {}; + Component.prototype.registerComponent = function () { + this.entity.componentBits.set( + ComponentTypeManager.getIndexFor(this), + false + ); this.entity.scene.entityProcessors.onComponentAdded(this.entity); }; - Component.prototype.deregisterComponent = function() { + Component.prototype.deregisterComponent = function () { this.entity.componentBits.set(ComponentTypeManager.getIndexFor(this)); this.entity.scene.entityProcessors.onComponentRemoved(this.entity); }; return Component; -}(egret.DisplayObjectContainer)); -var Entity = (function(_super) { +})(egret.DisplayObjectContainer); +var Entity = (function (_super) { __extends(Entity, _super); function Entity(name) { var _this = _super.call(this) || this; @@ -896,61 +977,81 @@ var Entity = (function(_super) { return _this; } Object.defineProperty(Entity.prototype, "isDestoryed", { - get : function() { return this._isDestoryed; }, - enumerable : true, - configurable : true + get: function () { + return this._isDestoryed; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Entity.prototype, "position", { - get : function() { return this._position; }, - set : function(value) { this._position = value; }, - enumerable : true, - configurable : true + get: function () { + return this._position; + }, + set: function (value) { + this._position = value; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Entity.prototype, "scale", { - get : function() { return new Vector2(this.scaleX, this.scaleY); }, - set : function(value) { + get: function () { + return new Vector2(this.scaleX, this.scaleY); + }, + set: function (value) { this.scaleX = value.x; this.scaleY = value.y; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Entity.prototype, "enabled", { - get : function() { return this._enabled; }, - set : function(value) { this.setEnabled(value); }, - enumerable : true, - configurable : true + get: function () { + return this._enabled; + }, + set: function (value) { + this.setEnabled(value); + }, + enumerable: true, + configurable: true, }); - Entity.prototype.setEnabled = function(isEnabled) { + Entity.prototype.setEnabled = function (isEnabled) { if (this._enabled != isEnabled) { this._enabled = isEnabled; } return this; }; Object.defineProperty(Entity.prototype, "tag", { - get : function() { return this._tag; }, - set : function(value) { this.setTag(value); }, - enumerable : true, - configurable : true + get: function () { + return this._tag; + }, + set: function (value) { + this.setTag(value); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Entity.prototype, "stage", { - get : function() { - if (!this.scene) - return null; + get: function () { + if (!this.scene) return null; return this.scene.stage; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Entity.prototype, "updateOrder", { - get : function() { return this._updateOrder; }, - set : function(value) { this.setUpdateOrder(value); }, - enumerable : true, - configurable : true + get: function () { + return this._updateOrder; + }, + set: function (value) { + this.setUpdateOrder(value); + }, + enumerable: true, + configurable: true, }); - Entity.prototype.roundPosition = - function() { this.position = Vector2Ext.round(this.position); }; - Entity.prototype.setUpdateOrder = function(updateOrder) { + Entity.prototype.roundPosition = function () { + this.position = Vector2Ext.round(this.position); + }; + Entity.prototype.setUpdateOrder = function (updateOrder) { if (this._updateOrder != updateOrder) { this._updateOrder = updateOrder; if (this.scene) { @@ -958,7 +1059,7 @@ var Entity = (function(_super) { return this; } }; - Entity.prototype.setTag = function(tag) { + Entity.prototype.setTag = function (tag) { if (this._tag != tag) { if (this.scene) { this.scene.entities.removeFromTagList(this); @@ -970,7 +1071,7 @@ var Entity = (function(_super) { } return this; }; - Entity.prototype.attachToScene = function(newScene) { + Entity.prototype.attachToScene = function (newScene) { this.scene = newScene; newScene.entities.add(this); this.components.registerAllComponents(); @@ -978,34 +1079,36 @@ var Entity = (function(_super) { this.getChildAt(i).entity.attachToScene(newScene); } }; - Entity.prototype.detachFromScene = function() { + Entity.prototype.detachFromScene = function () { this.scene.entities.remove(this); this.components.deregisterAllComponents(); for (var i = 0; i < this.numChildren; i++) this.getChildAt(i).entity.detachFromScene(); }; - Entity.prototype.addComponent = function(component) { + Entity.prototype.addComponent = function (component) { component.entity = this; this.components.add(component); this.addChild(component); component.initialize(); return component; }; - Entity.prototype.hasComponent = function( - type) { return this.components.getComponent(type, false) != null; }; - Entity.prototype.getOrCreateComponent = function(type) { + Entity.prototype.hasComponent = function (type) { + return this.components.getComponent(type, false) != null; + }; + Entity.prototype.getOrCreateComponent = function (type) { var comp = this.components.getComponent(type, true); if (!comp) { comp = this.addComponent(type); } return comp; }; - Entity.prototype.getComponent = function( - type) { return this.components.getComponent(type, false); }; - Entity.prototype.getComponents = function(typeName, componentList) { + Entity.prototype.getComponent = function (type) { + return this.components.getComponent(type, false); + }; + Entity.prototype.getComponents = function (typeName, componentList) { return this.components.getComponents(typeName, componentList); }; - Entity.prototype.removeComponentForType = function(type) { + Entity.prototype.removeComponentForType = function (type) { var comp = this.getComponent(type); if (comp) { this.removeComponent(comp); @@ -1013,22 +1116,25 @@ var Entity = (function(_super) { } return false; }; - Entity.prototype.removeComponent = function( - component) { this.components.remove(component); }; - Entity.prototype.removeAllComponents = function() { + Entity.prototype.removeComponent = function (component) { + this.components.remove(component); + }; + Entity.prototype.removeAllComponents = function () { for (var i = 0; i < this.components.count; i++) { this.removeComponent(this.components.buffer[i]); } }; - Entity.prototype.update = function() { this.components.update(); }; - Entity.prototype.onAddedToScene = function() {}; - Entity.prototype.onRemovedFromScene = function() { - if (this._isDestoryed) - this.components.removeAllComponents(); + Entity.prototype.update = function () { + this.components.update(); }; - Entity.prototype.onTransformChanged = function( - comp) { this.components.onEntityTransformChanged(comp); }; - Entity.prototype.destroy = function() { + Entity.prototype.onAddedToScene = function () {}; + Entity.prototype.onRemovedFromScene = function () { + if (this._isDestoryed) this.components.removeAllComponents(); + }; + Entity.prototype.onTransformChanged = function (comp) { + this.components.onEntityTransformChanged(comp); + }; + Entity.prototype.destroy = function () { this._isDestoryed = true; this.scene.entities.remove(this); this.removeChildren(); @@ -1038,8 +1144,8 @@ var Entity = (function(_super) { } }; return Entity; -}(egret.DisplayObjectContainer)); -var Scene = (function(_super) { +})(egret.DisplayObjectContainer); +var Scene = (function (_super) { __extends(Scene, _super); function Scene() { var _this = _super.call(this) || this; @@ -1056,12 +1162,12 @@ var Scene = (function(_super) { _this.addEventListener(egret.Event.DEACTIVATE, _this.onDeactive, _this); return _this; } - Scene.prototype.createEntity = function(name) { + Scene.prototype.createEntity = function (name) { var entity = new Entity(name); entity.position = new Vector2(0, 0); return this.addEntity(entity); }; - Scene.prototype.addEntity = function(entity) { + Scene.prototype.addEntity = function (entity) { this.entities.add(entity); entity.scene = this; this.addChild(entity); @@ -1069,40 +1175,42 @@ var Scene = (function(_super) { this.addEntity(entity.getChildAt(i).entity); return entity; }; - Scene.prototype.destroyAllEntities = function() { + Scene.prototype.destroyAllEntities = function () { for (var i = 0; i < this.entities.count; i++) { this.entities.buffer[i].destroy(); } }; - Scene.prototype.findEntity = function( - name) { return this.entities.findEntity(name); }; - Scene.prototype.addEntityProcessor = function(processor) { + Scene.prototype.findEntity = function (name) { + return this.entities.findEntity(name); + }; + Scene.prototype.addEntityProcessor = function (processor) { processor.scene = this; this.entityProcessors.add(processor); return processor; }; - Scene.prototype.removeEntityProcessor = function( - processor) { this.entityProcessors.remove(processor); }; - Scene.prototype.getEntityProcessor = - function() { return this.entityProcessors.getProcessor(); }; - Scene.prototype.addRenderer = function(renderer) { + Scene.prototype.removeEntityProcessor = function (processor) { + this.entityProcessors.remove(processor); + }; + Scene.prototype.getEntityProcessor = function () { + return this.entityProcessors.getProcessor(); + }; + Scene.prototype.addRenderer = function (renderer) { this._renderers.push(renderer); this._renderers.sort(); renderer.onAddedToScene(this); return renderer; }; - Scene.prototype.getRenderer = function(type) { + Scene.prototype.getRenderer = function (type) { for (var i = 0; i < this._renderers.length; i++) { - if (this._renderers[i] instanceof type) - return this._renderers[i]; + if (this._renderers[i] instanceof type) return this._renderers[i]; } return null; }; - Scene.prototype.removeRenderer = function(renderer) { + Scene.prototype.removeRenderer = function (renderer) { this._renderers.remove(renderer); renderer.unload(); }; - Scene.prototype.begin = function() { + Scene.prototype.begin = function () { if (SceneManager.sceneTransition) { SceneManager.stage.addChildAt(this, SceneManager.stage.numChildren - 1); } else { @@ -1111,19 +1219,22 @@ var Scene = (function(_super) { if (this._renderers.length == 0) { this.addRenderer(new DefaultRenderer()); console.warn( - "场景开始时没有渲染器 自动添加DefaultRenderer以保证能够正常渲染"); + "场景开始时没有渲染器 自动添加DefaultRenderer以保证能够正常渲染" + ); } - this.camera = - this.createEntity("camera").getOrCreateComponent(new Camera()); + this.camera = this.createEntity("camera").getOrCreateComponent( + new Camera() + ); Physics.reset(); - if (this.entityProcessors) - this.entityProcessors.begin(); - this.camera.onSceneSizeChanged(this.stage.stageWidth, - this.stage.stageHeight); + if (this.entityProcessors) this.entityProcessors.begin(); + this.camera.onSceneSizeChanged( + this.stage.stageWidth, + this.stage.stageHeight + ); this._didSceneBegin = true; this.onStart(); }; - Scene.prototype.end = function() { + Scene.prototype.end = function () { this._didSceneBegin = false; this.removeEventListener(egret.Event.DEACTIVATE, this.onDeactive, this); this.removeEventListener(egret.Event.ACTIVATE, this.onActive, this); @@ -1138,28 +1249,27 @@ var Scene = (function(_super) { Physics.clear(); this.camera = null; this.content.dispose(); - if (this.entityProcessors) - this.entityProcessors.end(); + if (this.entityProcessors) this.entityProcessors.end(); this.unload(); }; - Scene.prototype.onStart = function() { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { return [ 2 ]; }); + Scene.prototype.onStart = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + return [2]; + }); }); }; - Scene.prototype.onActive = function() {}; - Scene.prototype.onDeactive = function() {}; - Scene.prototype.unload = function() {}; - Scene.prototype.update = function() { + Scene.prototype.onActive = function () {}; + Scene.prototype.onDeactive = function () {}; + Scene.prototype.unload = function () {}; + Scene.prototype.update = function () { this.entities.updateLists(); - if (this.entityProcessors) - this.entityProcessors.update(); + if (this.entityProcessors) this.entityProcessors.update(); this.entities.update(); - if (this.entityProcessors) - this.entityProcessors.lateUpdate(); + if (this.entityProcessors) this.entityProcessors.lateUpdate(); this.renderableComponents.updateList(); }; - Scene.prototype.postRender = function() { + Scene.prototype.postRender = function () { var enabledCounter = 0; if (this.enablePostProcessing) { for (var i = 0; i < this._postProcessors.length; i++) { @@ -1171,34 +1281,37 @@ var Scene = (function(_super) { } } }; - Scene.prototype.render = function() { + Scene.prototype.render = function () { for (var i = 0; i < this._renderers.length; i++) { this._renderers[i].render(this); } }; - Scene.prototype.addPostProcessor = function(postProcessor) { + Scene.prototype.addPostProcessor = function (postProcessor) { this._postProcessors.push(postProcessor); this._postProcessors.sort(); postProcessor.onAddedToScene(this); if (this._didSceneBegin) { - postProcessor.onSceneBackBufferSizeChanged(this.stage.stageWidth, - this.stage.stageHeight); + postProcessor.onSceneBackBufferSizeChanged( + this.stage.stageWidth, + this.stage.stageHeight + ); } return postProcessor; }; return Scene; -}(egret.DisplayObjectContainer)); -var SceneManager = (function() { +})(egret.DisplayObjectContainer); +var SceneManager = (function () { function SceneManager(stage) { stage.addEventListener(egret.Event.ENTER_FRAME, SceneManager.update, this); SceneManager.stage = stage; SceneManager.initialize(stage); } Object.defineProperty(SceneManager, "scene", { - get : function() { return this._scene; }, - set : function(value) { - if (!value) - throw new Error("场景不能为空"); + get: function () { + return this._scene; + }, + set: function (value) { + if (!value) throw new Error("场景不能为空"); if (this._scene == null) { this._scene = value; this._scene.begin(); @@ -1206,21 +1319,25 @@ var SceneManager = (function() { this._nextScene = value; } }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); - SceneManager.initialize = function(stage) { Input.initialize(stage); }; - SceneManager.update = function() { + SceneManager.initialize = function (stage) { + Input.initialize(stage); + }; + SceneManager.update = function () { Time.update(egret.getTimer()); if (SceneManager._scene) { for (var i = GlobalManager.globalManagers.length - 1; i >= 0; i--) { if (GlobalManager.globalManagers[i].enabled) GlobalManager.globalManagers[i].update(); } - if (!SceneManager.sceneTransition || - (SceneManager.sceneTransition && - (!SceneManager.sceneTransition.loadsNewScene || - SceneManager.sceneTransition.isNewSceneLoaded))) { + if ( + !SceneManager.sceneTransition || + (SceneManager.sceneTransition && + (!SceneManager.sceneTransition.loadsNewScene || + SceneManager.sceneTransition.isNewSceneLoaded)) + ) { SceneManager._scene.update(); } if (SceneManager._nextScene) { @@ -1236,7 +1353,7 @@ var SceneManager = (function() { } SceneManager.render(); }; - SceneManager.render = function() { + SceneManager.render = function () { if (this.sceneTransition) { this.sceneTransition.preRender(); if (this._scene && !this.sceneTransition.hasPreviousSceneRender) { @@ -1255,7 +1372,7 @@ var SceneManager = (function() { this._scene.postRender(); } }; - SceneManager.startSceneTransition = function(sceneTransition) { + SceneManager.startSceneTransition = function (sceneTransition) { if (this.sceneTransition) { console.warn("在前一个场景完成之前,不能开始一个新的场景转换。"); return; @@ -1264,21 +1381,21 @@ var SceneManager = (function() { return sceneTransition; }; return SceneManager; -}()); +})(); var DirtyType; -(function(DirtyType) { -DirtyType[DirtyType["clean"] = 0] = "clean"; -DirtyType[DirtyType["positionDirty"] = 1] = "positionDirty"; -DirtyType[DirtyType["scaleDirty"] = 2] = "scaleDirty"; -DirtyType[DirtyType["rotationDirty"] = 3] = "rotationDirty"; +(function (DirtyType) { + DirtyType[(DirtyType["clean"] = 0)] = "clean"; + DirtyType[(DirtyType["positionDirty"] = 1)] = "positionDirty"; + DirtyType[(DirtyType["scaleDirty"] = 2)] = "scaleDirty"; + DirtyType[(DirtyType["rotationDirty"] = 3)] = "rotationDirty"; })(DirtyType || (DirtyType = {})); var ComponentTransform; -(function(ComponentTransform) { -ComponentTransform[ComponentTransform["position"] = 0] = "position"; -ComponentTransform[ComponentTransform["scale"] = 1] = "scale"; -ComponentTransform[ComponentTransform["rotation"] = 2] = "rotation"; +(function (ComponentTransform) { + ComponentTransform[(ComponentTransform["position"] = 0)] = "position"; + ComponentTransform[(ComponentTransform["scale"] = 1)] = "scale"; + ComponentTransform[(ComponentTransform["rotation"] = 2)] = "rotation"; })(ComponentTransform || (ComponentTransform = {})); -var Transform = (function() { +var Transform = (function () { function Transform(entity) { this._localRotation = 0; this._worldTransform = Matrix2D.identity; @@ -1290,149 +1407,179 @@ var Transform = (function() { this._children = []; } Object.defineProperty(Transform.prototype, "childCount", { - get : function() { return this._children.length; }, - enumerable : true, - configurable : true + get: function () { + return this._children.length; + }, + enumerable: true, + configurable: true, }); - Transform.prototype.getChild = function( - index) { return this._children[index]; }; + Transform.prototype.getChild = function (index) { + return this._children[index]; + }; Object.defineProperty(Transform.prototype, "worldInverseTransform", { - get : function() { + get: function () { this.updateTransform(); if (this._worldInverseDirty) { - this._worldInverseTransform = - Matrix2D.invert(this._worldTransform, this._worldInverseTransform); + this._worldInverseTransform = Matrix2D.invert( + this._worldTransform, + this._worldInverseTransform + ); this._worldInverseDirty = false; } return this._worldInverseTransform; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Transform.prototype, "localToWorldTransform", { - get : function() { + get: function () { this.updateTransform(); return this._worldTransform; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Transform.prototype, "worldToLocalTransform", { - get : function() { + get: function () { if (this._worldToLocalDirty) { if (!this.parent) { this._worldInverseTransform = new Matrix2D(); } else { this.parent.updateTransform(); this._worldToLocalTransform = Matrix2D.invert( - this.parent._worldTransform, this._worldToLocalTransform); + this.parent._worldTransform, + this._worldToLocalTransform + ); } this._worldToLocalDirty = false; } return this._worldToLocalTransform; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Transform.prototype, "parent", { - get : function() { return this._parent; }, - set : function(value) { this.setParent(value); }, - enumerable : true, - configurable : true + get: function () { + return this._parent; + }, + set: function (value) { + this.setParent(value); + }, + enumerable: true, + configurable: true, }); - Transform.prototype.setParent = function(parent) { - if (this._parent == parent) - return this; - if (this._parent) - this._parent._children.remove(this); - if (parent) - parent._children.push(this); + Transform.prototype.setParent = function (parent) { + if (this._parent == parent) return this; + if (this._parent) this._parent._children.remove(this); + if (parent) parent._children.push(this); this._parent = parent; return this; }; Object.defineProperty(Transform.prototype, "rotation", { - get : function() { + get: function () { this.updateTransform(); return this._rotation; }, - set : function(value) { this.setRotation(value); }, - enumerable : true, - configurable : true + set: function (value) { + this.setRotation(value); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Transform.prototype, "localRotation", { - get : function() { + get: function () { this.updateTransform(); return this._localRotation; }, - set : function(value) { this.setLocalRotation(value); }, - enumerable : true, - configurable : true + set: function (value) { + this.setLocalRotation(value); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Transform.prototype, "position", { - get : function() { + get: function () { this.updateTransform(); if (this._positionDirty) { if (!this.parent) { this._position = this._localPosition; } else { this.parent.updateTransform(); - this._position = Vector2Ext.transformR(this._localPosition, - this.parent._worldTransform); + this._position = Vector2Ext.transformR( + this._localPosition, + this.parent._worldTransform + ); } this._positionDirty = false; } return this._position; }, - set : function(value) { this.setPosition(value); }, - enumerable : true, - configurable : true + set: function (value) { + this.setPosition(value); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Transform.prototype, "localPosition", { - get : function() { + get: function () { this.updateTransform(); return this._localPosition; }, - set : function(value) { this.setLocalPosition(value); }, - enumerable : true, - configurable : true + set: function (value) { + this.setLocalPosition(value); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Transform.prototype, "scale", { - get : function() { + get: function () { this.updateTransform(); return this._scale; }, - set : function(value) { this.setScale(value); }, - enumerable : true, - configurable : true + set: function (value) { + this.setScale(value); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Transform.prototype, "localScale", { - get : function() { + get: function () { this.updateTransform(); return this._localScale; }, - set : function(value) { this.setLocalScale(value); }, - enumerable : true, - configurable : true + set: function (value) { + this.setLocalScale(value); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Transform.prototype, "rotationDegrees", { - get : function() { return MathHelper.toDegrees(this._rotation); }, - set : function(value) { this.setRotation(MathHelper.toRadians(value)); }, - enumerable : true, - configurable : true + get: function () { + return MathHelper.toDegrees(this._rotation); + }, + set: function (value) { + this.setRotation(MathHelper.toRadians(value)); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Transform.prototype, "localRotationDegrees", { - get : function() { return MathHelper.toDegrees(this._localRotation); }, - set : function(value) { this.localRotation = MathHelper.toRadians(value); }, - enumerable : true, - configurable : true + get: function () { + return MathHelper.toDegrees(this._localRotation); + }, + set: function (value) { + this.localRotation = MathHelper.toRadians(value); + }, + enumerable: true, + configurable: true, }); - Transform.prototype.setLocalScale = function(scale) { + Transform.prototype.setLocalScale = function (scale) { this._localScale = scale; this._localDirty = this._positionDirty = this._localScaleDirty = true; this.setDirty(DirtyType.scaleDirty); return this; }; - Transform.prototype.setScale = function(scale) { + Transform.prototype.setScale = function (scale) { this._scale = scale; if (this.parent) { this.localScale = Vector2.divide(scale, this.parent._scale); @@ -1441,16 +1588,16 @@ var Transform = (function() { } return this; }; - Transform.prototype.setLocalRotationDegrees = function( - degrees) { return this.setLocalRotation(MathHelper.toRadians(degrees)); }; - Transform.prototype.setLocalRotation = function(radians) { + Transform.prototype.setLocalRotationDegrees = function (degrees) { + return this.setLocalRotation(MathHelper.toRadians(degrees)); + }; + Transform.prototype.setLocalRotation = function (radians) { this._localRotation = radians; - this._localDirty = this._positionDirty = this._localPositionDirty = - this._localRotationDirty = this._localScaleDirty = true; + this._localDirty = this._positionDirty = this._localPositionDirty = this._localRotationDirty = this._localScaleDirty = true; this.setDirty(DirtyType.rotationDirty); return this; }; - Transform.prototype.setRotation = function(radians) { + Transform.prototype.setRotation = function (radians) { this._rotation = radians; if (this.parent) { this.localRotation = this.parent.rotation + radians; @@ -1459,61 +1606,62 @@ var Transform = (function() { } return this; }; - Transform.prototype.setRotationDegrees = function( - degrees) { return this.setRotation(MathHelper.toRadians(degrees)); }; - Transform.prototype.setLocalPosition = function(localPosition) { - if (localPosition == this._localPosition) - return this; + Transform.prototype.setRotationDegrees = function (degrees) { + return this.setRotation(MathHelper.toRadians(degrees)); + }; + Transform.prototype.setLocalPosition = function (localPosition) { + if (localPosition == this._localPosition) return this; this._localPosition = localPosition; - this._localDirty = this._positionDirty = this._localPositionDirty = - this._localRotationDirty = this._localScaleDirty = true; + this._localDirty = this._positionDirty = this._localPositionDirty = this._localRotationDirty = this._localScaleDirty = true; this.setDirty(DirtyType.positionDirty); return this; }; - Transform.prototype.setPosition = function(position) { - if (position == this._position) - return this; + Transform.prototype.setPosition = function (position) { + if (position == this._position) return this; this._position = position; if (this.parent) { - this.localPosition = - Vector2.transform(this._position, this._worldToLocalTransform); + this.localPosition = Vector2.transform( + this._position, + this._worldToLocalTransform + ); } else { this.localPosition = position; } this._positionDirty = false; return this; }; - Transform.prototype.setDirty = function(dirtyFlagType) { + Transform.prototype.setDirty = function (dirtyFlagType) { if ((this._hierachyDirty & dirtyFlagType) == 0) { this._hierachyDirty |= dirtyFlagType; switch (dirtyFlagType) { - case DirtyType.positionDirty: - this.entity.onTransformChanged(ComponentTransform.position); - break; - case DirtyType.rotationDirty: - this.entity.onTransformChanged(ComponentTransform.rotation); - break; - case DirtyType.scaleDirty: - this.entity.onTransformChanged(ComponentTransform.scale); - break; + case DirtyType.positionDirty: + this.entity.onTransformChanged(ComponentTransform.position); + break; + case DirtyType.rotationDirty: + this.entity.onTransformChanged(ComponentTransform.rotation); + break; + case DirtyType.scaleDirty: + this.entity.onTransformChanged(ComponentTransform.scale); + break; } - if (this._children == null) - this._children = []; + if (this._children == null) this._children = []; for (var i = 0; i < this._children.length; i++) { this._children[i].setDirty(dirtyFlagType); } } }; - Transform.prototype.roundPosition = - function() { this.position = this._position.round(); }; - Transform.prototype.updateTransform = function() { + Transform.prototype.roundPosition = function () { + this.position = this._position.round(); + }; + Transform.prototype.updateTransform = function () { if (this._hierachyDirty != DirtyType.clean) { - if (this.parent) - this.parent.updateTransform(); + if (this.parent) this.parent.updateTransform(); if (this._localDirty) { if (this._localPositionDirty) { this._translationMatrix = Matrix2D.createTranslation( - this._localPosition.x, this._localPosition.y); + this._localPosition.x, + this._localPosition.y + ); this._localPositionDirty = false; } if (this._localRotationDirty) { @@ -1521,14 +1669,20 @@ var Transform = (function() { this._localRotationDirty = false; } if (this._localScaleDirty) { - this._scaleMatrix = - Matrix2D.createScale(this._localScale.x, this._localScale.y); + this._scaleMatrix = Matrix2D.createScale( + this._localScale.x, + this._localScale.y + ); this._localScaleDirty = false; } - this._localTransform = - Matrix2D.multiply(this._scaleMatrix, this._rotationMatrix); - this._localTransform = - Matrix2D.multiply(this._localTransform, this._translationMatrix); + this._localTransform = Matrix2D.multiply( + this._scaleMatrix, + this._rotationMatrix + ); + this._localTransform = Matrix2D.multiply( + this._localTransform, + this._translationMatrix + ); if (!this.parent) { this._worldTransform = this._localTransform; this._rotation = this._localRotation; @@ -1538,8 +1692,10 @@ var Transform = (function() { this._localDirty = false; } if (this.parent) { - this._worldTransform = Matrix2D.multiply(this._localTransform, - this.parent._worldTransform); + this._worldTransform = Matrix2D.multiply( + this._localTransform, + this.parent._worldTransform + ); this._rotation = this._localRotation + this.parent._rotation; this._scale = Vector2.multiply(this.parent._scale, this._localScale); this._worldInverseDirty = true; @@ -1550,8 +1706,8 @@ var Transform = (function() { } }; return Transform; -}()); -var Camera = (function(_super) { +})(); +var Camera = (function (_super) { __extends(Camera, _super); function Camera() { var _this = _super.call(this) || this; @@ -1572,64 +1728,79 @@ var Camera = (function(_super) { return _this; } Object.defineProperty(Camera.prototype, "zoom", { - get : function() { - if (this._zoom == 0) - return 1; + get: function () { + if (this._zoom == 0) return 1; if (this._zoom < 1) return MathHelper.map(this._zoom, this._minimumZoom, 1, -1, 0); return MathHelper.map(this._zoom, 1, this._maximumZoom, 0, 1); }, - set : function(value) { this.setZoom(value); }, - enumerable : true, - configurable : true + set: function (value) { + this.setZoom(value); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Camera.prototype, "minimumZoom", { - get : function() { return this._minimumZoom; }, - set : function(value) { this.setMinimumZoom(value); }, - enumerable : true, - configurable : true + get: function () { + return this._minimumZoom; + }, + set: function (value) { + this.setMinimumZoom(value); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Camera.prototype, "maximumZoom", { - get : function() { return this._maximumZoom; }, - set : function(value) { this.setMaximumZoom(value); }, - enumerable : true, - configurable : true + get: function () { + return this._maximumZoom; + }, + set: function (value) { + this.setMaximumZoom(value); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Camera.prototype, "origin", { - get : function() { return this._origin; }, - set : function(value) { + get: function () { + return this._origin; + }, + set: function (value) { if (this._origin != value) { this._origin = value; } }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Camera.prototype, "position", { - get : function() { return this.entity.position; }, - set : function(value) { this.entity.position = value; }, - enumerable : true, - configurable : true + get: function () { + return this.entity.position; + }, + set: function (value) { + this.entity.position = value; + }, + enumerable: true, + configurable: true, }); - Camera.prototype.onSceneSizeChanged = function(newWidth, newHeight) { + Camera.prototype.onSceneSizeChanged = function (newWidth, newHeight) { var oldOrigin = this._origin; this.origin = new Vector2(newWidth / 2, newHeight / 2); this.entity.position = Vector2.add( - this.entity.position, Vector2.subtract(this._origin, oldOrigin)); + this.entity.position, + Vector2.subtract(this._origin, oldOrigin) + ); }; - Camera.prototype.setMinimumZoom = function(minZoom) { - if (this._zoom < minZoom) - this._zoom = this.minimumZoom; + Camera.prototype.setMinimumZoom = function (minZoom) { + if (this._zoom < minZoom) this._zoom = this.minimumZoom; this._minimumZoom = minZoom; return this; }; - Camera.prototype.setMaximumZoom = function(maxZoom) { - if (this._zoom > maxZoom) - this._zoom = maxZoom; + Camera.prototype.setMaximumZoom = function (maxZoom) { + if (this._zoom > maxZoom) this._zoom = maxZoom; this._maximumZoom = maxZoom; return this; }; - Camera.prototype.setZoom = function(zoom) { + Camera.prototype.setZoom = function (zoom) { var newZoom = MathHelper.clamp(zoom, -1, 1); if (newZoom == 0) { this._zoom = 1; @@ -1642,67 +1813,94 @@ var Camera = (function(_super) { SceneManager.scene.scaleY = this._zoom; return this; }; - Camera.prototype.setRotation = function(rotation) { + Camera.prototype.setRotation = function (rotation) { SceneManager.scene.rotation = rotation; return this; }; - Camera.prototype.setPosition = function(position) { + Camera.prototype.setPosition = function (position) { this.entity.position = position; return this; }; - Camera.prototype.follow = function(targetEntity, cameraStyle) { + Camera.prototype.follow = function (targetEntity, cameraStyle) { if (cameraStyle === void 0) { cameraStyle = CameraStyle.cameraWindow; } this.targetEntity = targetEntity; this.cameraStyle = cameraStyle; - var cameraBounds = new Rectangle(0, 0, SceneManager.stage.stageWidth, - SceneManager.stage.stageHeight); + var cameraBounds = new Rectangle( + 0, + 0, + SceneManager.stage.stageWidth, + SceneManager.stage.stageHeight + ); switch (this.cameraStyle) { - case CameraStyle.cameraWindow: - var w = cameraBounds.width / 6; - var h = cameraBounds.height / 3; - this.deadzone = new Rectangle((cameraBounds.width - w) / 2, - (cameraBounds.height - h) / 2, w, h); - break; - case CameraStyle.lockOn: - this.deadzone = new Rectangle(cameraBounds.width / 2, - cameraBounds.height / 2, 10, 10); - break; + case CameraStyle.cameraWindow: + var w = cameraBounds.width / 6; + var h = cameraBounds.height / 3; + this.deadzone = new Rectangle( + (cameraBounds.width - w) / 2, + (cameraBounds.height - h) / 2, + w, + h + ); + break; + case CameraStyle.lockOn: + this.deadzone = new Rectangle( + cameraBounds.width / 2, + cameraBounds.height / 2, + 10, + 10 + ); + break; } }; - Camera.prototype.update = function() { - var cameraBounds = new Rectangle(0, 0, SceneManager.stage.stageWidth, - SceneManager.stage.stageHeight); + Camera.prototype.update = function () { + var cameraBounds = new Rectangle( + 0, + 0, + SceneManager.stage.stageWidth, + SceneManager.stage.stageHeight + ); var halfScreen = Vector2.multiply( - new Vector2(cameraBounds.width, cameraBounds.height), new Vector2(0.5)); + new Vector2(cameraBounds.width, cameraBounds.height), + new Vector2(0.5) + ); this._worldSpaceDeadZone.x = - this.position.x - halfScreen.x + this.deadzone.x + this.focusOffset.x; + this.position.x - halfScreen.x + this.deadzone.x + this.focusOffset.x; this._worldSpaceDeadZone.y = - this.position.y - halfScreen.y + this.deadzone.y + this.focusOffset.y; + this.position.y - halfScreen.y + this.deadzone.y + this.focusOffset.y; this._worldSpaceDeadZone.width = this.deadzone.width; this._worldSpaceDeadZone.height = this.deadzone.height; - if (this.targetEntity) - this.updateFollow(); + if (this.targetEntity) this.updateFollow(); this.position = Vector2.lerp( - this.position, Vector2.add(this.position, this._desiredPositionDelta), - this.followLerp); + this.position, + Vector2.add(this.position, this._desiredPositionDelta), + this.followLerp + ); this.entity.roundPosition(); if (this.mapLockEnabled) { this.position = this.clampToMapSize(this.position); this.entity.roundPosition(); } }; - Camera.prototype.clampToMapSize = function(position) { - var cameraBounds = new Rectangle(0, 0, SceneManager.stage.stageWidth, - SceneManager.stage.stageHeight); + Camera.prototype.clampToMapSize = function (position) { + var cameraBounds = new Rectangle( + 0, + 0, + SceneManager.stage.stageWidth, + SceneManager.stage.stageHeight + ); var halfScreen = Vector2.multiply( - new Vector2(cameraBounds.width, cameraBounds.height), new Vector2(0.5)); - var cameraMax = new Vector2(this.mapSize.x - halfScreen.x, - this.mapSize.y - halfScreen.y); + new Vector2(cameraBounds.width, cameraBounds.height), + new Vector2(0.5) + ); + var cameraMax = new Vector2( + this.mapSize.x - halfScreen.x, + this.mapSize.y - halfScreen.y + ); return Vector2.clamp(position, halfScreen, cameraMax); }; - Camera.prototype.updateFollow = function() { + Camera.prototype.updateFollow = function () { this._desiredPositionDelta.x = this._desiredPositionDelta.y = 0; if (this.cameraStyle == CameraStyle.lockOn) { var targetX = this.targetEntity.position.x; @@ -1718,79 +1916,81 @@ var Camera = (function(_super) { } else { if (!this._targetCollider) { this._targetCollider = this.targetEntity.getComponent(Collider); - if (!this._targetCollider) - return; + if (!this._targetCollider) return; } var targetBounds = this.targetEntity.getComponent(Collider).bounds; if (!this._worldSpaceDeadZone.containsRect(targetBounds)) { if (this._worldSpaceDeadZone.left > targetBounds.left) this._desiredPositionDelta.x = - targetBounds.left - this._worldSpaceDeadZone.left; + targetBounds.left - this._worldSpaceDeadZone.left; else if (this._worldSpaceDeadZone.right < targetBounds.right) this._desiredPositionDelta.x = - targetBounds.right - this._worldSpaceDeadZone.right; + targetBounds.right - this._worldSpaceDeadZone.right; if (this._worldSpaceDeadZone.bottom < targetBounds.bottom) this._desiredPositionDelta.y = - targetBounds.bottom - this._worldSpaceDeadZone.bottom; + targetBounds.bottom - this._worldSpaceDeadZone.bottom; else if (this._worldSpaceDeadZone.top > targetBounds.top) this._desiredPositionDelta.y = - targetBounds.top - this._worldSpaceDeadZone.top; + targetBounds.top - this._worldSpaceDeadZone.top; } } }; return Camera; -}(Component)); +})(Component); var CameraStyle; -(function(CameraStyle) { -CameraStyle[CameraStyle["lockOn"] = 0] = "lockOn"; -CameraStyle[CameraStyle["cameraWindow"] = 1] = "cameraWindow"; +(function (CameraStyle) { + CameraStyle[(CameraStyle["lockOn"] = 0)] = "lockOn"; + CameraStyle[(CameraStyle["cameraWindow"] = 1)] = "cameraWindow"; })(CameraStyle || (CameraStyle = {})); -var ComponentPool = (function() { +var ComponentPool = (function () { function ComponentPool(typeClass) { this._type = typeClass; this._cache = []; } - ComponentPool.prototype.obtain = function() { + ComponentPool.prototype.obtain = function () { try { return this._cache.length > 0 ? this._cache.shift() : new this._type(); } catch (err) { throw new Error(this._type + err); } }; - ComponentPool.prototype.free = function(component) { + ComponentPool.prototype.free = function (component) { component.reset(); this._cache.push(component); }; return ComponentPool; -}()); -var Mesh = (function(_super) { +})(); +var Mesh = (function (_super) { __extends(Mesh, _super); function Mesh() { - return _super !== null && _super.apply(this, arguments) || this; + return (_super !== null && _super.apply(this, arguments)) || this; } - Mesh.prototype.initialize = function() {}; - Mesh.prototype.setVertPosition = function(positions) { + Mesh.prototype.initialize = function () {}; + Mesh.prototype.setVertPosition = function (positions) { var createVerts = !this._verts || this._verts.length != positions.length; - if (createVerts) - this._verts = new Array(positions.length); + if (createVerts) this._verts = new Array(positions.length); for (var i = 0; i < this._verts.length; i++) { this._verts[i] = new VertexPosition(positions[i]); } return this; }; - Mesh.prototype.setTriangles = function(triangles) { + Mesh.prototype.setTriangles = function (triangles) { this._primitiveCount = triangles.length / 3; this._triangles = triangles; return this; }; - Mesh.prototype.recalculateBounds = function() { + Mesh.prototype.recalculateBounds = function () { this._topLeftVertPosition = new Vector2(Number.MAX_VALUE, Number.MAX_VALUE); var max = new Vector2(Number.MIN_VALUE, Number.MIN_VALUE); for (var i = 0; i < this._verts.length; i++) { - this._topLeftVertPosition.x = - Math.min(this._topLeftVertPosition.x, this._verts[i].position.x); - this._topLeftVertPosition.y = - Math.min(this._topLeftVertPosition.y, this._verts[i].position.y); + this._topLeftVertPosition.x = Math.min( + this._topLeftVertPosition.x, + this._verts[i].position.x + ); + this._topLeftVertPosition.y = Math.min( + this._topLeftVertPosition.y, + this._verts[i].position.y + ); max.x = Math.max(max.x, this._verts[i].position.x); max.y = Math.max(max.y, this._verts[i].position.y); } @@ -1798,14 +1998,16 @@ var Mesh = (function(_super) { this._height = max.y - this._topLeftVertPosition.y; return this; }; - Mesh.prototype.render = function() {}; + Mesh.prototype.render = function () {}; return Mesh; -}(Component)); -var VertexPosition = (function() { - function VertexPosition(position) { this.position = position; } +})(Component); +var VertexPosition = (function () { + function VertexPosition(position) { + this.position = position; + } return VertexPosition; -}()); -var PolygonMesh = (function(_super) { +})(); +var PolygonMesh = (function (_super) { __extends(PolygonMesh, _super); function PolygonMesh(points, arePointsCCW) { if (arePointsCCW === void 0) { @@ -1820,18 +2022,18 @@ var PolygonMesh = (function(_super) { return _this; } return PolygonMesh; -}(Mesh)); -var PooledComponent = (function(_super) { +})(Mesh); +var PooledComponent = (function (_super) { __extends(PooledComponent, _super); function PooledComponent() { - return _super !== null && _super.apply(this, arguments) || this; + return (_super !== null && _super.apply(this, arguments)) || this; } return PooledComponent; -}(Component)); -var RenderableComponent = (function(_super) { +})(Component); +var RenderableComponent = (function (_super) { __extends(RenderableComponent, _super); function RenderableComponent() { - var _this = _super !== null && _super.apply(this, arguments) || this; + var _this = (_super !== null && _super.apply(this, arguments)) || this; _this._areBoundsDirty = true; _this._bounds = new Rectangle(); _this._localOffset = Vector2.zero; @@ -1839,62 +2041,77 @@ var RenderableComponent = (function(_super) { return _this; } Object.defineProperty(RenderableComponent.prototype, "width", { - get : function() { return this.getWidth(); }, - enumerable : true, - configurable : true + get: function () { + return this.getWidth(); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(RenderableComponent.prototype, "height", { - get : function() { return this.getHeight(); }, - enumerable : true, - configurable : true + get: function () { + return this.getHeight(); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(RenderableComponent.prototype, "isVisible", { - get : function() { return this._isVisible; }, - set : function(value) { - this._isVisible = value; - if (this._isVisible) - this.onBecameVisible(); - else - this.onBecameInvisible(); + get: function () { + return this._isVisible; }, - enumerable : true, - configurable : true + set: function (value) { + this._isVisible = value; + if (this._isVisible) this.onBecameVisible(); + else this.onBecameInvisible(); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(RenderableComponent.prototype, "bounds", { - get : function() { - return new Rectangle(this.getBounds().x, this.getBounds().y, - this.getBounds().width, this.getBounds().height); + get: function () { + return new Rectangle( + this.getBounds().x, + this.getBounds().y, + this.getBounds().width, + this.getBounds().height + ); }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); - RenderableComponent.prototype.getWidth = - function() { return this.bounds.width; }; - RenderableComponent.prototype.getHeight = - function() { return this.bounds.height; }; - RenderableComponent.prototype.onBecameVisible = function() {}; - RenderableComponent.prototype.onBecameInvisible = function() {}; - RenderableComponent.prototype.isVisibleFromCamera = function(camera) { + RenderableComponent.prototype.getWidth = function () { + return this.bounds.width; + }; + RenderableComponent.prototype.getHeight = function () { + return this.bounds.height; + }; + RenderableComponent.prototype.onBecameVisible = function () {}; + RenderableComponent.prototype.onBecameInvisible = function () {}; + RenderableComponent.prototype.isVisibleFromCamera = function (camera) { this.isVisible = camera.getBounds().intersects(this.getBounds()); return this.isVisible; }; - RenderableComponent.prototype.onEntityTransformChanged = function( - comp) { this._areBoundsDirty = true; }; + RenderableComponent.prototype.onEntityTransformChanged = function (comp) { + this._areBoundsDirty = true; + }; return RenderableComponent; -}(PooledComponent)); -var ScreenSpaceCamera = (function(_super) { +})(PooledComponent); +var ScreenSpaceCamera = (function (_super) { __extends(ScreenSpaceCamera, _super); function ScreenSpaceCamera() { - return _super !== null && _super.apply(this, arguments) || this; + return (_super !== null && _super.apply(this, arguments)) || this; } - ScreenSpaceCamera.prototype.updateMatrixes = function() {}; + ScreenSpaceCamera.prototype.updateMatrixes = function () {}; return ScreenSpaceCamera; -}(Camera)); -var Sprite = (function() { +})(Camera); +var Sprite = (function () { function Sprite(texture, sourceRect, origin) { if (sourceRect === void 0) { - sourceRect = - new Rectangle(0, 0, texture.textureWidth, texture.textureHeight); + sourceRect = new Rectangle( + 0, + 0, + texture.textureWidth, + texture.textureHeight + ); } if (origin === void 0) { origin = sourceRect.getHalfSize(); @@ -1912,72 +2129,103 @@ var Sprite = (function() { this.uvs.height = sourceRect.height * inverseTexH; } return Sprite; -}()); -var SpriteRenderer = (function(_super) { +})(); +var SpriteRenderer = (function (_super) { __extends(SpriteRenderer, _super); function SpriteRenderer() { - return _super !== null && _super.apply(this, arguments) || this; + return (_super !== null && _super.apply(this, arguments)) || this; } Object.defineProperty(SpriteRenderer.prototype, "origin", { - get : function() { return this._origin; }, - set : function(value) { this.setOrigin(value); }, - enumerable : true, - configurable : true + get: function () { + return this._origin; + }, + set: function (value) { + this.setOrigin(value); + }, + enumerable: true, + configurable: true, }); - SpriteRenderer.prototype.setOrigin = function(origin) { + SpriteRenderer.prototype.setOrigin = function (origin) { if (this._origin != origin) { this._origin = origin; } return this; }; - SpriteRenderer.prototype.setSprite = function(sprite) { + SpriteRenderer.prototype.setSprite = function (sprite) { this.removeChildren(); this._sprite = sprite; - if (this._sprite) - this._origin = this._sprite.origin; + if (this._sprite) this._origin = this._sprite.origin; this._bitmap = new egret.Bitmap(sprite.texture2D); this.addChild(this._bitmap); return this; }; - SpriteRenderer.prototype.setColor = function(color) { - var colorMatrix = - [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0 ]; + SpriteRenderer.prototype.setColor = function (color) { + var colorMatrix = [ + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + ]; colorMatrix[0] = Math.floor(color / 256 / 256) / 255; - colorMatrix[6] = Math.floor(color / 256 % 256) / 255; - colorMatrix[12] = color % 256 / 255; + colorMatrix[6] = Math.floor((color / 256) % 256) / 255; + colorMatrix[12] = (color % 256) / 255; var colorFilter = new egret.ColorMatrixFilter(colorMatrix); - this.filters = [ colorFilter ]; + this.filters = [colorFilter]; return this; }; - SpriteRenderer.prototype.isVisibleFromCamera = function(camera) { - this.isVisible = - new Rectangle(0, 0, this.stage.stageWidth, this.stage.stageHeight) - .intersects(this.bounds); + SpriteRenderer.prototype.isVisibleFromCamera = function (camera) { + this.isVisible = new Rectangle( + 0, + 0, + this.stage.stageWidth, + this.stage.stageHeight + ).intersects(this.bounds); this.visible = this.isVisible; return this.isVisible; }; - SpriteRenderer.prototype.render = function(camera) { - this.x = this.entity.position.x - this.origin.x - camera.position.x + - camera.origin.x; - this.y = this.entity.position.y - this.origin.y - camera.position.y + - camera.origin.y; + SpriteRenderer.prototype.render = function (camera) { + this.x = + this.entity.position.x - + this.origin.x - + camera.position.x + + camera.origin.x; + this.y = + this.entity.position.y - + this.origin.y - + camera.position.y + + camera.origin.y; }; - SpriteRenderer.prototype.onRemovedFromEntity = function() { - if (this.parent) - this.parent.removeChild(this); + SpriteRenderer.prototype.onRemovedFromEntity = function () { + if (this.parent) this.parent.removeChild(this); }; - SpriteRenderer.prototype.reset = function() {}; + SpriteRenderer.prototype.reset = function () {}; return SpriteRenderer; -}(RenderableComponent)); -var Mover = (function(_super) { +})(RenderableComponent); +var Mover = (function (_super) { __extends(Mover, _super); function Mover() { - return _super !== null && _super.apply(this, arguments) || this; + return (_super !== null && _super.apply(this, arguments)) || this; } - Mover.prototype.onAddedToEntity = function() { + Mover.prototype.onAddedToEntity = function () { this._triggerHelper = new ColliderTriggerHelper(this.entity); }; - Mover.prototype.calculateMovement = function(motion) { + Mover.prototype.calculateMovement = function (motion) { var collisionResult = new CollisionResult(); if (!this.entity.getComponent(Collider) || !this._triggerHelper) { return null; @@ -1985,21 +2233,24 @@ var Mover = (function(_super) { var colliders = this.entity.getComponents(Collider); for (var i = 0; i < colliders.length; i++) { var collider = colliders[i]; - if (collider.isTrigger) - continue; + if (collider.isTrigger) continue; var bounds = collider.bounds; bounds.x += motion.x; bounds.y += motion.y; var neighbors = Physics.boxcastBroadphaseExcludingSelf( - collider, bounds, collider.collidesWithLayers); + collider, + bounds, + collider.collidesWithLayers + ); for (var j = 0; j < neighbors.length; j++) { var neighbor = neighbors[j]; - if (neighbor.isTrigger) - continue; + if (neighbor.isTrigger) continue; var _internalcollisionResult = collider.collidesWith(neighbor, motion); if (_internalcollisionResult) { motion = Vector2.subtract( - motion, _internalcollisionResult.minimumTranslationVector); + motion, + _internalcollisionResult.minimumTranslationVector + ); if (_internalcollisionResult.collider) { collisionResult = _internalcollisionResult; } @@ -2009,22 +2260,21 @@ var Mover = (function(_super) { ListPool.free(colliders); return collisionResult; }; - Mover.prototype.applyMovement = function(motion) { + Mover.prototype.applyMovement = function (motion) { this.entity.position = Vector2.add(this.entity.position, motion); - if (this._triggerHelper) - this._triggerHelper.update(); + if (this._triggerHelper) this._triggerHelper.update(); }; - Mover.prototype.move = function(motion) { + Mover.prototype.move = function (motion) { var collisionResult = this.calculateMovement(motion); this.applyMovement(motion); return collisionResult; }; return Mover; -}(Component)); -var Collider = (function(_super) { +})(Component); +var Collider = (function (_super) { __extends(Collider, _super); function Collider() { - var _this = _super !== null && _super.apply(this, arguments) || this; + var _this = (_super !== null && _super.apply(this, arguments)) || this; _this.physicsLayer = 1 << 0; _this.shouldColliderScaleAndRotationWithTransform = true; _this.collidesWithLayers = Physics.allLayers; @@ -2034,23 +2284,27 @@ var Collider = (function(_super) { return _this; } Object.defineProperty(Collider.prototype, "bounds", { - get : function() { + get: function () { if (this._isPositionDirty || this._isRotationDirty) { this.shape.recalculateBounds(this); this._isPositionDirty = this._isRotationDirty = false; } return this.shape.bounds; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Collider.prototype, "localOffset", { - get : function() { return this._localOffset; }, - set : function(value) { this.setLocalOffset(value); }, - enumerable : true, - configurable : true + get: function () { + return this._localOffset; + }, + set: function (value) { + this.setLocalOffset(value); + }, + enumerable: true, + configurable: true, }); - Collider.prototype.setLocalOffset = function(offset) { + Collider.prototype.setLocalOffset = function (offset) { if (this._localOffset != offset) { this.unregisterColliderWithPhysicsSystem(); this._localOffset = offset; @@ -2059,34 +2313,35 @@ var Collider = (function(_super) { this.registerColliderWithPhysicsSystem(); } }; - Collider.prototype.registerColliderWithPhysicsSystem = function() { + Collider.prototype.registerColliderWithPhysicsSystem = function () { if (this._isParentEntityAddedToScene && !this._isColliderRegistered) { Physics.addCollider(this); this._isColliderRegistered = true; } }; - Collider.prototype.unregisterColliderWithPhysicsSystem = function() { + Collider.prototype.unregisterColliderWithPhysicsSystem = function () { if (this._isParentEntityAddedToScene && this._isColliderRegistered) { Physics.removeCollider(this); } this._isColliderRegistered = false; }; - Collider.prototype.overlaps = function( - other) { return this.shape.overlaps(other.shape); }; - Collider.prototype.collidesWith = function(collider, motion) { + Collider.prototype.overlaps = function (other) { + return this.shape.overlaps(other.shape); + }; + Collider.prototype.collidesWith = function (collider, motion) { var oldPosition = this.shape.position; this.shape.position = Vector2.add(this.shape.position, motion); var result = this.shape.collidesWithShape(collider.shape); - if (result) - result.collider = collider; + if (result) result.collider = collider; this.shape.position = oldPosition; return result; }; - Collider.prototype.onAddedToEntity = function() { + Collider.prototype.onAddedToEntity = function () { if (this._colliderRequiresAutoSizing) { if (!(this instanceof BoxCollider)) { console.error( - "Only box and circle colliders can be created automatically"); + "Only box and circle colliders can be created automatically" + ); } var renderable = this.entity.getComponent(RenderableComponent); if (renderable) { @@ -2097,42 +2352,44 @@ var Collider = (function(_super) { var boxCollider = this; boxCollider.width = width; boxCollider.height = height; - this.localOffset = - Vector2.subtract(renderbaleBounds.center, this.entity.position); + this.localOffset = Vector2.subtract( + renderbaleBounds.center, + this.entity.position + ); } } } this._isParentEntityAddedToScene = true; this.registerColliderWithPhysicsSystem(); }; - Collider.prototype.onRemovedFromEntity = function() { + Collider.prototype.onRemovedFromEntity = function () { this.unregisterColliderWithPhysicsSystem(); this._isParentEntityAddedToScene = false; }; - Collider.prototype.onEntityTransformChanged = function(comp) { + Collider.prototype.onEntityTransformChanged = function (comp) { switch (comp) { - case ComponentTransform.position: - this._isPositionDirty = true; - break; - case ComponentTransform.scale: - this._isPositionDirty = true; - break; - case ComponentTransform.rotation: - this._isRotationDirty = true; - break; + case ComponentTransform.position: + this._isPositionDirty = true; + break; + case ComponentTransform.scale: + this._isPositionDirty = true; + break; + case ComponentTransform.rotation: + this._isRotationDirty = true; + break; } - if (this._isColliderRegistered) - Physics.updateCollider(this); + if (this._isColliderRegistered) Physics.updateCollider(this); }; - Collider.prototype.onEnabled = function() { + Collider.prototype.onEnabled = function () { this.registerColliderWithPhysicsSystem(); this._isPositionDirty = this._isRotationDirty = true; }; - Collider.prototype.onDisabled = - function() { this.unregisterColliderWithPhysicsSystem(); }; + Collider.prototype.onDisabled = function () { + this.unregisterColliderWithPhysicsSystem(); + }; return Collider; -}(Component)); -var BoxCollider = (function(_super) { +})(Component); +var BoxCollider = (function (_super) { __extends(BoxCollider, _super); function BoxCollider() { var _this = _super.call(this) || this; @@ -2141,12 +2398,16 @@ var BoxCollider = (function(_super) { return _this; } Object.defineProperty(BoxCollider.prototype, "width", { - get : function() { return this.shape.width; }, - set : function(value) { this.setWidth(value); }, - enumerable : true, - configurable : true + get: function () { + return this.shape.width; + }, + set: function (value) { + this.setWidth(value); + }, + enumerable: true, + configurable: true, }); - BoxCollider.prototype.setWidth = function(width) { + BoxCollider.prototype.setWidth = function (width) { this._colliderRequiresAutoSizing = false; var box = this.shape; if (width != box.width) { @@ -2158,12 +2419,16 @@ var BoxCollider = (function(_super) { return this; }; Object.defineProperty(BoxCollider.prototype, "height", { - get : function() { return this.shape.height; }, - set : function(value) { this.setHeight(value); }, - enumerable : true, - configurable : true + get: function () { + return this.shape.height; + }, + set: function (value) { + this.setHeight(value); + }, + enumerable: true, + configurable: true, }); - BoxCollider.prototype.setHeight = function(height) { + BoxCollider.prototype.setHeight = function (height) { this._colliderRequiresAutoSizing = false; var box = this.shape; if (height != box.height) { @@ -2173,7 +2438,7 @@ var BoxCollider = (function(_super) { Physics.updateCollider(this); } }; - BoxCollider.prototype.setSize = function(width, height) { + BoxCollider.prototype.setSize = function (width, height) { this._colliderRequiresAutoSizing = false; var box = this.shape; if (width != box.width || height != box.height) { @@ -2185,189 +2450,184 @@ var BoxCollider = (function(_super) { return this; }; return BoxCollider; -}(Collider)); -var EntitySystem = (function() { +})(Collider); +var EntitySystem = (function () { function EntitySystem(matcher) { this._entities = []; this._matcher = matcher ? matcher : Matcher.empty(); } Object.defineProperty(EntitySystem.prototype, "matcher", { - get : function() { return this._matcher; }, - enumerable : true, - configurable : true + get: function () { + return this._matcher; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(EntitySystem.prototype, "scene", { - get : function() { return this._scene; }, - set : function(value) { + get: function () { + return this._scene; + }, + set: function (value) { this._scene = value; this._entities = []; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); - EntitySystem.prototype.initialize = function() {}; - EntitySystem.prototype.onChanged = function(entity) { + EntitySystem.prototype.initialize = function () {}; + EntitySystem.prototype.onChanged = function (entity) { var contains = this._entities.contains(entity); var interest = this._matcher.IsIntersted(entity); - if (interest && !contains) - this.add(entity); - else if (!interest && contains) - this.remove(entity); + if (interest && !contains) this.add(entity); + else if (!interest && contains) this.remove(entity); }; - EntitySystem.prototype.add = function(entity) { + EntitySystem.prototype.add = function (entity) { this._entities.push(entity); this.onAdded(entity); }; - EntitySystem.prototype.onAdded = function(entity) {}; - EntitySystem.prototype.remove = function(entity) { + EntitySystem.prototype.onAdded = function (entity) {}; + EntitySystem.prototype.remove = function (entity) { this._entities.remove(entity); this.onRemoved(entity); }; - EntitySystem.prototype.onRemoved = function(entity) {}; - EntitySystem.prototype.update = function() { + EntitySystem.prototype.onRemoved = function (entity) {}; + EntitySystem.prototype.update = function () { this.begin(); this.process(this._entities); }; - EntitySystem.prototype.lateUpdate = function() { + EntitySystem.prototype.lateUpdate = function () { this.lateProcess(this._entities); this.end(); }; - EntitySystem.prototype.begin = function() {}; - EntitySystem.prototype.process = function(entities) {}; - EntitySystem.prototype.lateProcess = function(entities) {}; - EntitySystem.prototype.end = function() {}; + EntitySystem.prototype.begin = function () {}; + EntitySystem.prototype.process = function (entities) {}; + EntitySystem.prototype.lateProcess = function (entities) {}; + EntitySystem.prototype.end = function () {}; return EntitySystem; -}()); -var EntityProcessingSystem = (function(_super) { +})(); +var EntityProcessingSystem = (function (_super) { __extends(EntityProcessingSystem, _super); function EntityProcessingSystem(matcher) { return _super.call(this, matcher) || this; } - EntityProcessingSystem.prototype.lateProcessEntity = function(entity) {}; - EntityProcessingSystem.prototype.process = function(entities) { + EntityProcessingSystem.prototype.lateProcessEntity = function (entity) {}; + EntityProcessingSystem.prototype.process = function (entities) { var _this = this; - entities.forEach(function(entity) { return _this.processEntity(entity); }); + entities.forEach(function (entity) { + return _this.processEntity(entity); + }); }; - EntityProcessingSystem.prototype.lateProcess = function(entities) { + EntityProcessingSystem.prototype.lateProcess = function (entities) { var _this = this; - entities.forEach(function( - entity) { return _this.lateProcessEntity(entity); }); + entities.forEach(function (entity) { + return _this.lateProcessEntity(entity); + }); }; return EntityProcessingSystem; -}(EntitySystem)); -var PassiveSystem = (function(_super) { +})(EntitySystem); +var PassiveSystem = (function (_super) { __extends(PassiveSystem, _super); function PassiveSystem() { - return _super !== null && _super.apply(this, arguments) || this; + return (_super !== null && _super.apply(this, arguments)) || this; } - PassiveSystem.prototype.onChanged = function(entity) {}; - PassiveSystem.prototype.process = function(entities) { + PassiveSystem.prototype.onChanged = function (entity) {}; + PassiveSystem.prototype.process = function (entities) { this.begin(); this.end(); }; return PassiveSystem; -}(EntitySystem)); -var ProcessingSystem = (function(_super) { +})(EntitySystem); +var ProcessingSystem = (function (_super) { __extends(ProcessingSystem, _super); function ProcessingSystem() { - return _super !== null && _super.apply(this, arguments) || this; + return (_super !== null && _super.apply(this, arguments)) || this; } - ProcessingSystem.prototype.onChanged = function(entity) {}; - ProcessingSystem.prototype.process = function(entities) { + ProcessingSystem.prototype.onChanged = function (entity) {}; + ProcessingSystem.prototype.process = function (entities) { this.begin(); this.processSystem(); this.end(); }; return ProcessingSystem; -}(EntitySystem)); -var BitSet = (function() { +})(EntitySystem); +var BitSet = (function () { function BitSet(nbits) { if (nbits === void 0) { nbits = 64; } var length = nbits >> 6; - if ((nbits & BitSet.LONG_MASK) != 0) - length++; + if ((nbits & BitSet.LONG_MASK) != 0) length++; this._bits = new Array(length); } - BitSet.prototype.and = function(bs) { + BitSet.prototype.and = function (bs) { var max = Math.min(this._bits.length, bs._bits.length); var i; - for (var i_1 = 0; i_1 < max; ++i_1) - this._bits[i_1] &= bs._bits[i_1]; - while (i < this._bits.length) - this._bits[i++] = 0; + for (var i_1 = 0; i_1 < max; ++i_1) this._bits[i_1] &= bs._bits[i_1]; + while (i < this._bits.length) this._bits[i++] = 0; }; - BitSet.prototype.andNot = function(bs) { + BitSet.prototype.andNot = function (bs) { var i = Math.min(this._bits.length, bs._bits.length); - while (--i >= 0) - this._bits[i] &= ~bs._bits[i]; + while (--i >= 0) this._bits[i] &= ~bs._bits[i]; }; - BitSet.prototype.cardinality = function() { + BitSet.prototype.cardinality = function () { var card = 0; for (var i = this._bits.length - 1; i >= 0; i--) { var a = this._bits[i]; - if (a == 0) - continue; + if (a == 0) continue; if (a == -1) { card += 64; continue; } a = ((a >> 1) & 0x5555555555555555) + (a & 0x5555555555555555); a = ((a >> 2) & 0x3333333333333333) + (a & 0x3333333333333333); - var b = ((a >> 32) + a); + var b = (a >> 32) + a; b = ((b >> 4) & 0x0f0f0f0f) + (b & 0x0f0f0f0f); b = ((b >> 8) & 0x00ff00ff) + (b & 0x00ff00ff); card += ((b >> 16) & 0x0000ffff) + (b & 0x0000ffff); } return card; }; - BitSet.prototype.clear = function(pos) { + BitSet.prototype.clear = function (pos) { if (pos != undefined) { var offset = pos >> 6; this.ensure(offset); this._bits[offset] &= ~(1 << pos); } else { - for (var i = 0; i < this._bits.length; i++) - this._bits[i] = 0; + for (var i = 0; i < this._bits.length; i++) this._bits[i] = 0; } }; - BitSet.prototype.ensure = function(lastElt) { + BitSet.prototype.ensure = function (lastElt) { if (lastElt >= this._bits.length) { - var nd = new Number[lastElt + 1]; + var nd = new Number[lastElt + 1](); nd = this._bits.copyWithin(0, 0, this._bits.length); this._bits = nd; } }; - BitSet.prototype.get = function(pos) { + BitSet.prototype.get = function (pos) { var offset = pos >> 6; - if (offset >= this._bits.length) - return false; + if (offset >= this._bits.length) return false; return (this._bits[offset] & (1 << pos)) != 0; }; - BitSet.prototype.intersects = function(set) { + BitSet.prototype.intersects = function (set) { var i = Math.min(this._bits.length, set._bits.length); while (--i >= 0) { - if ((this._bits[i] & set._bits[i]) != 0) - return true; + if ((this._bits[i] & set._bits[i]) != 0) return true; } return false; }; - BitSet.prototype.isEmpty = function() { + BitSet.prototype.isEmpty = function () { for (var i = this._bits.length - 1; i >= 0; i--) { - if (this._bits[i]) - return false; + if (this._bits[i]) return false; } return true; }; - BitSet.prototype.nextSetBit = function(from) { + BitSet.prototype.nextSetBit = function (from) { var offset = from >> 6; var mask = 1 << from; while (offset < this._bits.length) { var h = this._bits[offset]; do { - if ((h & mask) != 0) - return from; + if ((h & mask) != 0) return from; mask <<= 1; from++; } while (mask != 0); @@ -2376,7 +2636,7 @@ var BitSet = (function() { } return -1; }; - BitSet.prototype.set = function(pos, value) { + BitSet.prototype.set = function (pos, value) { if (value === void 0) { value = true; } @@ -2390,8 +2650,8 @@ var BitSet = (function() { }; BitSet.LONG_MASK = 0x3f; return BitSet; -}()); -var ComponentList = (function() { +})(); +var ComponentList = (function () { function ComponentList(entity) { this._components = []; this._componentsToAdd = []; @@ -2400,25 +2660,30 @@ var ComponentList = (function() { this._entity = entity; } Object.defineProperty(ComponentList.prototype, "count", { - get : function() { return this._components.length; }, - enumerable : true, - configurable : true + get: function () { + return this._components.length; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(ComponentList.prototype, "buffer", { - get : function() { return this._components; }, - enumerable : true, - configurable : true + get: function () { + return this._components; + }, + enumerable: true, + configurable: true, }); - ComponentList.prototype.add = function( - component) { this._componentsToAdd.push(component); }; - ComponentList.prototype.remove = function(component) { + ComponentList.prototype.add = function (component) { + this._componentsToAdd.push(component); + }; + ComponentList.prototype.remove = function (component) { if (this._componentsToAdd.contains(component)) { this._componentsToAdd.remove(component); return; } this._componentsToRemove.push(component); }; - ComponentList.prototype.removeAllComponents = function() { + ComponentList.prototype.removeAllComponents = function () { for (var i = 0; i < this._components.length; i++) { this.handleRemove(this._components[i]); } @@ -2426,27 +2691,30 @@ var ComponentList = (function() { this._componentsToAdd.length = 0; this._componentsToRemove.length = 0; }; - ComponentList.prototype.deregisterAllComponents = function() { + ComponentList.prototype.deregisterAllComponents = function () { for (var i = 0; i < this._components.length; i++) { var component = this._components[i]; if (component instanceof RenderableComponent) this._entity.scene.renderableComponents.remove(component); this._entity.componentBits.set( - ComponentTypeManager.getIndexFor(component), false); + ComponentTypeManager.getIndexFor(component), + false + ); this._entity.scene.entityProcessors.onComponentRemoved(this._entity); } }; - ComponentList.prototype.registerAllComponents = function() { + ComponentList.prototype.registerAllComponents = function () { for (var i = 0; i < this._components.length; i++) { var component = this._components[i]; if (component instanceof RenderableComponent) this._entity.scene.renderableComponents.add(component); this._entity.componentBits.set( - ComponentTypeManager.getIndexFor(component)); + ComponentTypeManager.getIndexFor(component) + ); this._entity.scene.entityProcessors.onComponentAdded(this._entity); } }; - ComponentList.prototype.updateLists = function() { + ComponentList.prototype.updateLists = function () { if (this._componentsToRemove.length > 0) { for (var i = 0; i < this._componentsToRemove.length; i++) { this.handleRemove(this._componentsToRemove[i]); @@ -2460,7 +2728,8 @@ var ComponentList = (function() { if (component instanceof RenderableComponent) this._entity.scene.renderableComponents.add(component); this._entity.componentBits.set( - ComponentTypeManager.getIndexFor(component)); + ComponentTypeManager.getIndexFor(component) + ); this._entity.scene.entityProcessors.onComponentAdded(this._entity); this._components.push(component); this._tempBufferList.push(component); @@ -2476,37 +2745,38 @@ var ComponentList = (function() { this._tempBufferList.length = 0; } }; - ComponentList.prototype.handleRemove = function(component) { + ComponentList.prototype.handleRemove = function (component) { if (component instanceof RenderableComponent) this._entity.scene.renderableComponents.remove(component); - this._entity.componentBits.set(ComponentTypeManager.getIndexFor(component), - false); + this._entity.componentBits.set( + ComponentTypeManager.getIndexFor(component), + false + ); this._entity.scene.entityProcessors.onComponentRemoved(this._entity); component.onRemovedFromEntity(); component.entity = null; }; - ComponentList.prototype.getComponent = function( - type, onlyReturnInitializedComponents) { + ComponentList.prototype.getComponent = function ( + type, + onlyReturnInitializedComponents + ) { for (var i = 0; i < this._components.length; i++) { var component = this._components[i]; - if (component instanceof type) - return component; + if (component instanceof type) return component; } if (!onlyReturnInitializedComponents) { for (var i = 0; i < this._componentsToAdd.length; i++) { var component = this._componentsToAdd[i]; - if (component instanceof type) - return component; + if (component instanceof type) return component; } } return null; }; - ComponentList.prototype.getComponents = function(typeName, components) { - if (!components) - components = []; + ComponentList.prototype.getComponents = function (typeName, components) { + if (!components) components = []; for (var i = 0; i < this._components.length; i++) { var component = this._components[i]; - if (typeof (typeName) == "string") { + if (typeof typeName == "string") { if (egret.is(component, typeName)) { components.push(component); } @@ -2518,7 +2788,7 @@ var ComponentList = (function() { } for (var i = 0; i < this._componentsToAdd.length; i++) { var component = this._componentsToAdd[i]; - if (typeof (typeName) == "string") { + if (typeof typeName == "string") { if (egret.is(component, typeName)) { components.push(component); } @@ -2530,17 +2800,19 @@ var ComponentList = (function() { } return components; }; - ComponentList.prototype.update = function() { + ComponentList.prototype.update = function () { this.updateLists(); for (var i = 0; i < this._components.length; i++) { var component = this._components[i]; - if (component.enabled && - (component.updateInterval == 1 || - Time.frameCount % component.updateInterval == 0)) + if ( + component.enabled && + (component.updateInterval == 1 || + Time.frameCount % component.updateInterval == 0) + ) component.update(); } }; - ComponentList.prototype.onEntityTransformChanged = function(comp) { + ComponentList.prototype.onEntityTransformChanged = function (comp) { for (var i = 0; i < this._components.length; i++) { if (this._components[i].enabled) this._components[i].onEntityTransformChanged(comp); @@ -2551,14 +2823,14 @@ var ComponentList = (function() { } }; return ComponentList; -}()); -var ComponentTypeManager = (function() { +})(); +var ComponentTypeManager = (function () { function ComponentTypeManager() {} - ComponentTypeManager.add = function(type) { + ComponentTypeManager.add = function (type) { if (!this._componentTypesMask.has(type)) this._componentTypesMask[type] = this._componentTypesMask.size; }; - ComponentTypeManager.getIndexFor = function(type) { + ComponentTypeManager.getIndexFor = function (type) { var v = -1; if (!this._componentTypesMask.has(type)) { this.add(type); @@ -2568,8 +2840,8 @@ var ComponentTypeManager = (function() { }; ComponentTypeManager._componentTypesMask = new Map(); return ComponentTypeManager; -}()); -var EntityList = (function() { +})(); +var EntityList = (function () { function EntityList(scene) { this._entitiesToRemove = []; this._entitiesToAdded = []; @@ -2580,20 +2852,24 @@ var EntityList = (function() { this.scene = scene; } Object.defineProperty(EntityList.prototype, "count", { - get : function() { return this._entities.length; }, - enumerable : true, - configurable : true + get: function () { + return this._entities.length; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(EntityList.prototype, "buffer", { - get : function() { return this._entities; }, - enumerable : true, - configurable : true + get: function () { + return this._entities; + }, + enumerable: true, + configurable: true, }); - EntityList.prototype.add = function(entity) { + EntityList.prototype.add = function (entity) { if (this._entitiesToAdded.indexOf(entity) == -1) this._entitiesToAdded.push(entity); }; - EntityList.prototype.remove = function(entity) { + EntityList.prototype.remove = function (entity) { if (this._entitiesToAdded.contains(entity)) { this._entitiesToAdded.remove(entity); return; @@ -2601,15 +2877,15 @@ var EntityList = (function() { if (!this._entitiesToRemove.contains(entity)) this._entitiesToRemove.push(entity); }; - EntityList.prototype.findEntity = function(name) { + EntityList.prototype.findEntity = function (name) { for (var i = 0; i < this._entities.length; i++) { - if (this._entities[i].name == name) - return this._entities[i]; + if (this._entities[i].name == name) return this._entities[i]; } - return this._entitiesToAdded.firstOrDefault(function( - entity) { return entity.name == name; }); + return this._entitiesToAdded.firstOrDefault(function (entity) { + return entity.name == name; + }); }; - EntityList.prototype.getTagList = function(tag) { + EntityList.prototype.getTagList = function (tag) { var list = this._entityDict.get(tag); if (!list) { list = []; @@ -2617,27 +2893,26 @@ var EntityList = (function() { } return this._entityDict.get(tag); }; - EntityList.prototype.addToTagList = function(entity) { + EntityList.prototype.addToTagList = function (entity) { var list = this.getTagList(entity.tag); if (!list.contains(entity)) { list.push(entity); this._unsortedTags.push(entity.tag); } }; - EntityList.prototype.removeFromTagList = function(entity) { + EntityList.prototype.removeFromTagList = function (entity) { var list = this._entityDict.get(entity.tag); if (list) { list.remove(entity); } }; - EntityList.prototype.update = function() { + EntityList.prototype.update = function () { for (var i = 0; i < this._entities.length; i++) { var entity = this._entities[i]; - if (entity.enabled) - entity.update(); + if (entity.enabled) entity.update(); } }; - EntityList.prototype.removeAllEntities = function() { + EntityList.prototype.removeAllEntities = function () { this._entitiesToAdded.length = 0; this.updateLists(); for (var i = 0; i < this._entities.length; i++) { @@ -2648,13 +2923,13 @@ var EntityList = (function() { this._entities.length = 0; this._entityDict.clear(); }; - EntityList.prototype.updateLists = function() { + EntityList.prototype.updateLists = function () { var _this = this; if (this._entitiesToRemove.length > 0) { var temp = this._entitiesToRemove; this._entitiesToRemove = this._tempEntityList; this._tempEntityList = temp; - this._tempEntityList.forEach(function(entity) { + this._tempEntityList.forEach(function (entity) { _this._entities.remove(entity); entity.scene = null; _this.scene.entityProcessors.onEntityRemoved(entity); @@ -2665,151 +2940,182 @@ var EntityList = (function() { var temp = this._entitiesToAdded; this._entitiesToAdded = this._tempEntityList; this._tempEntityList = temp; - this._tempEntityList.forEach(function(entity) { + this._tempEntityList.forEach(function (entity) { if (!_this._entities.contains(entity)) { _this._entities.push(entity); entity.scene = _this.scene; _this.scene.entityProcessors.onEntityAdded(entity); } }); - this._tempEntityList.forEach(function( - entity) { return entity.onAddedToScene(); }); + this._tempEntityList.forEach(function (entity) { + return entity.onAddedToScene(); + }); this._tempEntityList.length = 0; } if (this._unsortedTags.length > 0) { - this._unsortedTags.forEach(function( - tag) { _this._entityDict.get(tag).sort(); }); + this._unsortedTags.forEach(function (tag) { + _this._entityDict.get(tag).sort(); + }); this._unsortedTags.length = 0; } }; return EntityList; -}()); -var EntityProcessorList = (function() { - function EntityProcessorList() { this._processors = []; } - EntityProcessorList.prototype.add = function( - processor) { this._processors.push(processor); }; - EntityProcessorList.prototype.remove = function( - processor) { this._processors.remove(processor); }; - EntityProcessorList.prototype.onComponentAdded = function( - entity) { this.notifyEntityChanged(entity); }; - EntityProcessorList.prototype.onComponentRemoved = function( - entity) { this.notifyEntityChanged(entity); }; - EntityProcessorList.prototype.onEntityAdded = function( - entity) { this.notifyEntityChanged(entity); }; - EntityProcessorList.prototype.onEntityRemoved = function( - entity) { this.removeFromProcessors(entity); }; - EntityProcessorList.prototype.notifyEntityChanged = function(entity) { +})(); +var EntityProcessorList = (function () { + function EntityProcessorList() { + this._processors = []; + } + EntityProcessorList.prototype.add = function (processor) { + this._processors.push(processor); + }; + EntityProcessorList.prototype.remove = function (processor) { + this._processors.remove(processor); + }; + EntityProcessorList.prototype.onComponentAdded = function (entity) { + this.notifyEntityChanged(entity); + }; + EntityProcessorList.prototype.onComponentRemoved = function (entity) { + this.notifyEntityChanged(entity); + }; + EntityProcessorList.prototype.onEntityAdded = function (entity) { + this.notifyEntityChanged(entity); + }; + EntityProcessorList.prototype.onEntityRemoved = function (entity) { + this.removeFromProcessors(entity); + }; + EntityProcessorList.prototype.notifyEntityChanged = function (entity) { for (var i = 0; i < this._processors.length; i++) { this._processors[i].onChanged(entity); } }; - EntityProcessorList.prototype.removeFromProcessors = function(entity) { + EntityProcessorList.prototype.removeFromProcessors = function (entity) { for (var i = 0; i < this._processors.length; i++) { this._processors[i].remove(entity); } }; - EntityProcessorList.prototype.begin = function() {}; - EntityProcessorList.prototype.update = function() { + EntityProcessorList.prototype.begin = function () {}; + EntityProcessorList.prototype.update = function () { for (var i = 0; i < this._processors.length; i++) { this._processors[i].update(); } }; - EntityProcessorList.prototype.lateUpdate = function() { + EntityProcessorList.prototype.lateUpdate = function () { for (var i = 0; i < this._processors.length; i++) { this._processors[i].lateUpdate(); } }; - EntityProcessorList.prototype.end = function() {}; - EntityProcessorList.prototype.getProcessor = function() { + EntityProcessorList.prototype.end = function () {}; + EntityProcessorList.prototype.getProcessor = function () { for (var i = 0; i < this._processors.length; i++) { var processor = this._processors[i]; - if (processor instanceof EntitySystem) - return processor; + if (processor instanceof EntitySystem) return processor; } return null; }; return EntityProcessorList; -}()); -var Matcher = (function() { +})(); +var Matcher = (function () { function Matcher() { this.allSet = new BitSet(); this.exclusionSet = new BitSet(); this.oneSet = new BitSet(); } - Matcher.empty = function() { return new Matcher(); }; - Matcher.prototype.getAllSet = function() { return this.allSet; }; - Matcher.prototype.getExclusionSet = function() { return this.exclusionSet; }; - Matcher.prototype.getOneSet = function() { return this.oneSet; }; - Matcher.prototype.IsIntersted = function(e) { + Matcher.empty = function () { + return new Matcher(); + }; + Matcher.prototype.getAllSet = function () { + return this.allSet; + }; + Matcher.prototype.getExclusionSet = function () { + return this.exclusionSet; + }; + Matcher.prototype.getOneSet = function () { + return this.oneSet; + }; + Matcher.prototype.IsIntersted = function (e) { if (!this.allSet.isEmpty()) { - for (var i = this.allSet.nextSetBit(0); i >= 0; - i = this.allSet.nextSetBit(i + 1)) { - if (!e.componentBits.get(i)) - return false; + for ( + var i = this.allSet.nextSetBit(0); + i >= 0; + i = this.allSet.nextSetBit(i + 1) + ) { + if (!e.componentBits.get(i)) return false; } } - if (!this.exclusionSet.isEmpty() && - this.exclusionSet.intersects(e.componentBits)) + if ( + !this.exclusionSet.isEmpty() && + this.exclusionSet.intersects(e.componentBits) + ) return false; if (!this.oneSet.isEmpty() && !this.oneSet.intersects(e.componentBits)) return false; return true; }; - Matcher.prototype.all = function() { + Matcher.prototype.all = function () { var _this = this; var types = []; for (var _i = 0; _i < arguments.length; _i++) { types[_i] = arguments[_i]; } - types.forEach(function( - type) { _this.allSet.set(ComponentTypeManager.getIndexFor(type)); }); + types.forEach(function (type) { + _this.allSet.set(ComponentTypeManager.getIndexFor(type)); + }); return this; }; - Matcher.prototype.exclude = function() { + Matcher.prototype.exclude = function () { var _this = this; var types = []; for (var _i = 0; _i < arguments.length; _i++) { types[_i] = arguments[_i]; } - types.forEach(function(type) { + types.forEach(function (type) { _this.exclusionSet.set(ComponentTypeManager.getIndexFor(type)); }); return this; }; - Matcher.prototype.one = function() { + Matcher.prototype.one = function () { var _this = this; var types = []; for (var _i = 0; _i < arguments.length; _i++) { types[_i] = arguments[_i]; } - types.forEach(function( - type) { _this.oneSet.set(ComponentTypeManager.getIndexFor(type)); }); + types.forEach(function (type) { + _this.oneSet.set(ComponentTypeManager.getIndexFor(type)); + }); return this; }; return Matcher; -}()); -var RenderableComponentList = (function() { - function RenderableComponentList() { this._components = []; } +})(); +var RenderableComponentList = (function () { + function RenderableComponentList() { + this._components = []; + } Object.defineProperty(RenderableComponentList.prototype, "count", { - get : function() { return this._components.length; }, - enumerable : true, - configurable : true + get: function () { + return this._components.length; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(RenderableComponentList.prototype, "buffer", { - get : function() { return this._components; }, - enumerable : true, - configurable : true + get: function () { + return this._components; + }, + enumerable: true, + configurable: true, }); - RenderableComponentList.prototype.add = function( - component) { this._components.push(component); }; - RenderableComponentList.prototype.remove = function( - component) { this._components.remove(component); }; - RenderableComponentList.prototype.updateList = function() {}; + RenderableComponentList.prototype.add = function (component) { + this._components.push(component); + }; + RenderableComponentList.prototype.remove = function (component) { + this._components.remove(component); + }; + RenderableComponentList.prototype.updateList = function () {}; return RenderableComponentList; -}()); -var Time = (function() { - function Time() {}; - Time.update = function(currentTime) { +})(); +var Time = (function () { + function Time() {} + Time.update = function (currentTime) { var dt = (currentTime - this._lastTime) / 1000; this.deltaTime = dt * this.timeScale; this.unscaledDeltaTime = dt; @@ -2821,39 +3127,40 @@ var Time = (function() { Time.frameCount = 0; Time._lastTime = 0; return Time; -}()); -var GraphicsCapabilities = (function() { +})(); +var GraphicsCapabilities = (function () { function GraphicsCapabilities() {} - GraphicsCapabilities.prototype.initialize = function( - device) { this.platformInitialize(device); }; - GraphicsCapabilities.prototype.platformInitialize = function(device) { + GraphicsCapabilities.prototype.initialize = function (device) { + this.platformInitialize(device); + }; + GraphicsCapabilities.prototype.platformInitialize = function (device) { var gl = new egret.sys.RenderBuffer().context.getInstance(); this.supportsNonPowerOfTwo = false; this.supportsTextureFilterAnisotropic = - gl.getExtension("EXT_texture_filter_anisotropic") != null; + gl.getExtension("EXT_texture_filter_anisotropic") != null; this.supportsDepth24 = true; this.supportsPackedDepthStencil = true; this.supportsDepthNonLinear = false; this.supportsTextureMaxLevel = true; this.supportsS3tc = - gl.getExtension("WEBGL_compressed_texture_s3tc") != null || - gl.getExtension("WEBGL_compressed_texture_s3tc_srgb") != null; + gl.getExtension("WEBGL_compressed_texture_s3tc") != null || + gl.getExtension("WEBGL_compressed_texture_s3tc_srgb") != null; this.supportsDxt1 = this.supportsS3tc; this.supportsPvrtc = false; this.supportsAtitc = - gl.getExtension("WEBGL_compressed_texture_astc") != null; + gl.getExtension("WEBGL_compressed_texture_astc") != null; this.supportsFramebufferObjectARB = false; }; return GraphicsCapabilities; -}()); -var GraphicsDevice = (function() { +})(); +var GraphicsDevice = (function () { function GraphicsDevice() { this.graphicsCapabilities = new GraphicsCapabilities(); this.graphicsCapabilities.initialize(this); } return GraphicsDevice; -}()); -var Viewport = (function() { +})(); +var Viewport = (function () { function Viewport(x, y, width, height) { this._x = x; this._y = y; @@ -2863,112 +3170,121 @@ var Viewport = (function() { this._maxDepth = 1; } Object.defineProperty(Viewport.prototype, "aspectRatio", { - get : function() { - if ((this._height != 0) && (this._width != 0)) - return (this._width / this._height); + get: function () { + if (this._height != 0 && this._width != 0) + return this._width / this._height; return 0; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Viewport.prototype, "bounds", { - get : function() { + get: function () { return new Rectangle(this._x, this._y, this._width, this._height); }, - set : function(value) { + set: function (value) { this._x = value.x; this._y = value.y; this._width = value.width; this._height = value.height; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); return Viewport; -}()); -var GraphicsResource = (function() { +})(); +var GraphicsResource = (function () { function GraphicsResource() {} return GraphicsResource; -}()); -var GaussianBlurEffect = (function(_super) { +})(); +var GaussianBlurEffect = (function (_super) { __extends(GaussianBlurEffect, _super); function GaussianBlurEffect() { - return _super.call(this, PostProcessor.default_vert, - GaussianBlurEffect.blur_frag, { - screenWidth : SceneManager.stage.stageWidth, - screenHeight : SceneManager.stage.stageHeight - }) || - this; + return ( + _super.call( + this, + PostProcessor.default_vert, + GaussianBlurEffect.blur_frag, + { + screenWidth: SceneManager.stage.stageWidth, + screenHeight: SceneManager.stage.stageHeight, + } + ) || this + ); } GaussianBlurEffect.blur_frag = - "precision mediump float;\n" + - "uniform sampler2D uSampler;\n" + - "uniform float screenWidth;\n" + - "uniform float screenHeight;\n" + - "float normpdf(in float x, in float sigma)\n" + - "{\n" + - "return 0.39894*exp(-0.5*x*x/(sigma*sigma))/sigma;\n" + - "}\n" + - "void main()\n" + - "{\n" + - "vec3 c = texture2D(uSampler, gl_FragCoord.xy / vec2(screenWidth, screenHeight).xy).rgb;\n" + - "const int mSize = 11;\n" + - "const int kSize = (mSize - 1)/2;\n" + - "float kernel[mSize];\n" + - "vec3 final_colour = vec3(0.0);\n" + - "float sigma = 7.0;\n" + - "float z = 0.0;\n" + - "for (int j = 0; j <= kSize; ++j)\n" + - "{\n" + - "kernel[kSize+j] = kernel[kSize-j] = normpdf(float(j),sigma);\n" + - "}\n" + - "for (int j = 0; j < mSize; ++j)\n" + - "{\n" + - "z += kernel[j];\n" + - "}\n" + - "for (int i = -kSize; i <= kSize; ++i)\n" + - "{\n" + - "for (int j = -kSize; j <= kSize; ++j)\n" + - "{\n" + - "final_colour += kernel[kSize+j]*kernel[kSize+i]*texture2D(uSampler, (gl_FragCoord.xy+vec2(float(i),float(j))) / vec2(screenWidth, screenHeight).xy).rgb;\n" + - "}\n}\n" + - "gl_FragColor = vec4(final_colour/(z*z), 1.0);\n" + - "}"; + "precision mediump float;\n" + + "uniform sampler2D uSampler;\n" + + "uniform float screenWidth;\n" + + "uniform float screenHeight;\n" + + "float normpdf(in float x, in float sigma)\n" + + "{\n" + + "return 0.39894*exp(-0.5*x*x/(sigma*sigma))/sigma;\n" + + "}\n" + + "void main()\n" + + "{\n" + + "vec3 c = texture2D(uSampler, gl_FragCoord.xy / vec2(screenWidth, screenHeight).xy).rgb;\n" + + "const int mSize = 11;\n" + + "const int kSize = (mSize - 1)/2;\n" + + "float kernel[mSize];\n" + + "vec3 final_colour = vec3(0.0);\n" + + "float sigma = 7.0;\n" + + "float z = 0.0;\n" + + "for (int j = 0; j <= kSize; ++j)\n" + + "{\n" + + "kernel[kSize+j] = kernel[kSize-j] = normpdf(float(j),sigma);\n" + + "}\n" + + "for (int j = 0; j < mSize; ++j)\n" + + "{\n" + + "z += kernel[j];\n" + + "}\n" + + "for (int i = -kSize; i <= kSize; ++i)\n" + + "{\n" + + "for (int j = -kSize; j <= kSize; ++j)\n" + + "{\n" + + "final_colour += kernel[kSize+j]*kernel[kSize+i]*texture2D(uSampler, (gl_FragCoord.xy+vec2(float(i),float(j))) / vec2(screenWidth, screenHeight).xy).rgb;\n" + + "}\n}\n" + + "gl_FragColor = vec4(final_colour/(z*z), 1.0);\n" + + "}"; return GaussianBlurEffect; -}(egret.CustomFilter)); -var PolygonLightEffect = (function(_super) { +})(egret.CustomFilter); +var PolygonLightEffect = (function (_super) { __extends(PolygonLightEffect, _super); function PolygonLightEffect() { - return _super.call(this, PolygonLightEffect.vertSrc, - PolygonLightEffect.fragmentSrc) || - this; + return ( + _super.call( + this, + PolygonLightEffect.vertSrc, + PolygonLightEffect.fragmentSrc + ) || this + ); } PolygonLightEffect.vertSrc = - "attribute vec2 aVertexPosition;\n" + - "attribute vec2 aTextureCoord;\n" + - "uniform vec2 projectionVector;\n" + - "varying vec2 vTextureCoord;\n" + - "const vec2 center = vec2(-1.0, 1.0);\n" + - "void main(void) {\n" + - " gl_Position = vec4( (aVertexPosition / projectionVector) + center , 0.0, 1.0);\n" + - " vTextureCoord = aTextureCoord;\n" + - "}"; + "attribute vec2 aVertexPosition;\n" + + "attribute vec2 aTextureCoord;\n" + + "uniform vec2 projectionVector;\n" + + "varying vec2 vTextureCoord;\n" + + "const vec2 center = vec2(-1.0, 1.0);\n" + + "void main(void) {\n" + + " gl_Position = vec4( (aVertexPosition / projectionVector) + center , 0.0, 1.0);\n" + + " vTextureCoord = aTextureCoord;\n" + + "}"; PolygonLightEffect.fragmentSrc = - "precision lowp float;\n" + - "varying vec2 vTextureCoord;\n" + - "uniform sampler2D uSampler;\n" + - "#define SAMPLE_COUNT 15\n" + - "uniform vec2 _sampleOffsets[SAMPLE_COUNT];\n" + - "uniform float _sampleWeights[SAMPLE_COUNT];\n" + - "void main(void) {\n" + - "vec4 c = vec4(0, 0, 0, 0);\n" + - "for( int i = 0; i < SAMPLE_COUNT; i++ )\n" + - " c += texture2D( uSampler, vTextureCoord + _sampleOffsets[i] ) * _sampleWeights[i];\n" + - "gl_FragColor = c;\n" + - "}"; + "precision lowp float;\n" + + "varying vec2 vTextureCoord;\n" + + "uniform sampler2D uSampler;\n" + + "#define SAMPLE_COUNT 15\n" + + "uniform vec2 _sampleOffsets[SAMPLE_COUNT];\n" + + "uniform float _sampleWeights[SAMPLE_COUNT];\n" + + "void main(void) {\n" + + "vec4 c = vec4(0, 0, 0, 0);\n" + + "for( int i = 0; i < SAMPLE_COUNT; i++ )\n" + + " c += texture2D( uSampler, vTextureCoord + _sampleOffsets[i] ) * _sampleWeights[i];\n" + + "gl_FragColor = c;\n" + + "}"; return PolygonLightEffect; -}(egret.CustomFilter)); -var PostProcessor = (function() { +})(egret.CustomFilter); +var PostProcessor = (function () { function PostProcessor(effect) { if (effect === void 0) { effect = null; @@ -2976,21 +3292,30 @@ var PostProcessor = (function() { this.enable = true; this.effect = effect; } - PostProcessor.prototype.onAddedToScene = function(scene) { + PostProcessor.prototype.onAddedToScene = function (scene) { this.scene = scene; this.shape = new egret.Shape(); - this.shape.graphics.beginFill(0xFFFFFF, 1); - this.shape.graphics.drawRect(0, 0, SceneManager.stage.stageWidth, - SceneManager.stage.stageHeight); + this.shape.graphics.beginFill(0xffffff, 1); + this.shape.graphics.drawRect( + 0, + 0, + SceneManager.stage.stageWidth, + SceneManager.stage.stageHeight + ); this.shape.graphics.endFill(); scene.addChild(this.shape); }; - PostProcessor.prototype.process = function() { this.drawFullscreenQuad(); }; - PostProcessor.prototype.onSceneBackBufferSizeChanged = function(newWidth, - newHeight) {}; - PostProcessor.prototype.drawFullscreenQuad = - function() { this.scene.filters = [ this.effect ]; }; - PostProcessor.prototype.unload = function() { + PostProcessor.prototype.process = function () { + this.drawFullscreenQuad(); + }; + PostProcessor.prototype.onSceneBackBufferSizeChanged = function ( + newWidth, + newHeight + ) {}; + PostProcessor.prototype.drawFullscreenQuad = function () { + this.scene.filters = [this.effect]; + }; + PostProcessor.prototype.unload = function () { if (this.effect) { this.effect = null; } @@ -2998,23 +3323,29 @@ var PostProcessor = (function() { this.scene = null; }; PostProcessor.default_vert = - "attribute vec2 aVertexPosition;\n" + - "attribute vec2 aTextureCoord;\n" + - "attribute vec2 aColor;\n" + - "uniform vec2 projectionVector;\n" + - "varying vec2 vTextureCoord;\n" + - "varying vec4 vColor;\n" + - "const vec2 center = vec2(-1.0, 1.0);\n" + - "void main(void) {\n" + - "gl_Position = vec4( (aVertexPosition / projectionVector) + center , 0.0, 1.0);\n" + - "vTextureCoord = aTextureCoord;\n" + - "vColor = vec4(aColor.x, aColor.x, aColor.x, aColor.x);\n" + - "}"; + "attribute vec2 aVertexPosition;\n" + + "attribute vec2 aTextureCoord;\n" + + "attribute vec2 aColor;\n" + + "uniform vec2 projectionVector;\n" + + "varying vec2 vTextureCoord;\n" + + "varying vec4 vColor;\n" + + "const vec2 center = vec2(-1.0, 1.0);\n" + + "void main(void) {\n" + + "gl_Position = vec4( (aVertexPosition / projectionVector) + center , 0.0, 1.0);\n" + + "vTextureCoord = aTextureCoord;\n" + + "vColor = vec4(aColor.x, aColor.x, aColor.x, aColor.x);\n" + + "}"; return PostProcessor; -}()); -var BloomSettings = (function() { - function BloomSettings(bloomThreshold, blurAmount, bloomIntensity, - baseIntensity, bloomSaturation, baseSaturation) { +})(); +var BloomSettings = (function () { + function BloomSettings( + bloomThreshold, + blurAmount, + bloomIntensity, + baseIntensity, + bloomSaturation, + baseSaturation + ) { this.threshold = bloomThreshold; this.blurAmount = blurAmount; this.intensity = bloomIntensity; @@ -3024,38 +3355,41 @@ var BloomSettings = (function() { } BloomSettings.presetSettings = [ new BloomSettings(0.1, 0.6, 2, 1, 1, 0), - new BloomSettings(0, 3, 1, 1, 1, 1), new BloomSettings(0.5, 8, 2, 1, 0, 1), + new BloomSettings(0, 3, 1, 1, 1, 1), + new BloomSettings(0.5, 8, 2, 1, 0, 1), new BloomSettings(0.25, 8, 1.3, 1, 1, 0), - new BloomSettings(0, 2, 1, 0.1, 1, 1), new BloomSettings(0.5, 2, 1, 1, 1, 1) + new BloomSettings(0, 2, 1, 0.1, 1, 1), + new BloomSettings(0.5, 2, 1, 1, 1, 1), ]; return BloomSettings; -}()); -var GaussianBlurPostProcessor = (function(_super) { +})(); +var GaussianBlurPostProcessor = (function (_super) { __extends(GaussianBlurPostProcessor, _super); function GaussianBlurPostProcessor() { - return _super !== null && _super.apply(this, arguments) || this; + return (_super !== null && _super.apply(this, arguments)) || this; } - GaussianBlurPostProcessor.prototype.onAddedToScene = function(scene) { + GaussianBlurPostProcessor.prototype.onAddedToScene = function (scene) { _super.prototype.onAddedToScene.call(this, scene); this.effect = new GaussianBlurEffect(); }; return GaussianBlurPostProcessor; -}(PostProcessor)); -var Renderer = (function() { +})(PostProcessor); +var Renderer = (function () { function Renderer() {} - Renderer.prototype.onAddedToScene = function(scene) {}; - Renderer.prototype.beginRender = function(cam) {}; - Renderer.prototype.unload = function() {}; - Renderer.prototype.renderAfterStateCheck = function( - renderable, cam) { renderable.render(cam); }; + Renderer.prototype.onAddedToScene = function (scene) {}; + Renderer.prototype.beginRender = function (cam) {}; + Renderer.prototype.unload = function () {}; + Renderer.prototype.renderAfterStateCheck = function (renderable, cam) { + renderable.render(cam); + }; return Renderer; -}()); -var DefaultRenderer = (function(_super) { +})(); +var DefaultRenderer = (function (_super) { __extends(DefaultRenderer, _super); function DefaultRenderer() { - return _super !== null && _super.apply(this, arguments) || this; + return (_super !== null && _super.apply(this, arguments)) || this; } - DefaultRenderer.prototype.render = function(scene) { + DefaultRenderer.prototype.render = function (scene) { var cam = this.camera ? this.camera : scene.camera; this.beginRender(cam); for (var i = 0; i < scene.renderableComponents.count; i++) { @@ -3065,16 +3399,16 @@ var DefaultRenderer = (function(_super) { } }; return DefaultRenderer; -}(Renderer)); -var ScreenSpaceRenderer = (function(_super) { +})(Renderer); +var ScreenSpaceRenderer = (function (_super) { __extends(ScreenSpaceRenderer, _super); function ScreenSpaceRenderer() { - return _super !== null && _super.apply(this, arguments) || this; + return (_super !== null && _super.apply(this, arguments)) || this; } - ScreenSpaceRenderer.prototype.render = function(scene) {}; + ScreenSpaceRenderer.prototype.render = function (scene) {}; return ScreenSpaceRenderer; -}(Renderer)); -var PolyLight = (function(_super) { +})(Renderer); +var PolyLight = (function (_super) { __extends(PolyLight, _super); function PolyLight(radius, color, power) { var _this = _super.call(this) || this; @@ -3086,12 +3420,16 @@ var PolyLight = (function(_super) { return _this; } Object.defineProperty(PolyLight.prototype, "radius", { - get : function() { return this._radius; }, - set : function(value) { this.setRadius(value); }, - enumerable : true, - configurable : true + get: function () { + return this._radius; + }, + set: function (value) { + this.setRadius(value); + }, + enumerable: true, + configurable: true, }); - PolyLight.prototype.computeTriangleIndices = function(totalTris) { + PolyLight.prototype.computeTriangleIndices = function (totalTris) { if (totalTris === void 0) { totalTris = 20; } @@ -3102,92 +3440,97 @@ var PolyLight = (function(_super) { this._indices.push(i + 1); } }; - PolyLight.prototype.setRadius = function(radius) { + PolyLight.prototype.setRadius = function (radius) { if (radius != this._radius) { this._radius = radius; this._areBoundsDirty = true; } }; - PolyLight.prototype.render = function(camera) {}; - PolyLight.prototype.reset = function() {}; + PolyLight.prototype.render = function (camera) {}; + PolyLight.prototype.reset = function () {}; return PolyLight; -}(RenderableComponent)); -var SceneTransition = (function() { +})(RenderableComponent); +var SceneTransition = (function () { function SceneTransition(sceneLoadAction) { this.sceneLoadAction = sceneLoadAction; this.loadsNewScene = sceneLoadAction != null; } Object.defineProperty(SceneTransition.prototype, "hasPreviousSceneRender", { - get : function() { + get: function () { if (!this._hasPreviousSceneRender) { this._hasPreviousSceneRender = true; return false; } return true; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); - SceneTransition.prototype.preRender = function() {}; - SceneTransition.prototype.render = function() {}; - SceneTransition.prototype.onBeginTransition = function() { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { + SceneTransition.prototype.preRender = function () {}; + SceneTransition.prototype.render = function () {}; + SceneTransition.prototype.onBeginTransition = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { switch (_a.label) { - case 0: - return [ 4, this.loadNextScene() ]; - case 1: - _a.sent(); - this.transitionComplete(); - return [ 2 ]; + case 0: + return [4, this.loadNextScene()]; + case 1: + _a.sent(); + this.transitionComplete(); + return [2]; } }); }); }; - SceneTransition.prototype.transitionComplete = function() { + SceneTransition.prototype.transitionComplete = function () { SceneManager.sceneTransition = null; if (this.onTransitionCompleted) { this.onTransitionCompleted(); } }; - SceneTransition.prototype.loadNextScene = function() { - return __awaiter(this, void 0, void 0, function() { + SceneTransition.prototype.loadNextScene = function () { + return __awaiter(this, void 0, void 0, function () { var _a; - return __generator(this, function(_b) { + return __generator(this, function (_b) { switch (_b.label) { - case 0: - if (this.onScreenObscured) - this.onScreenObscured(); - if (!this.loadsNewScene) { + case 0: + if (this.onScreenObscured) this.onScreenObscured(); + if (!this.loadsNewScene) { + this.isNewSceneLoaded = true; + } + _a = SceneManager; + return [4, this.sceneLoadAction()]; + case 1: + _a.scene = _b.sent(); this.isNewSceneLoaded = true; - } - _a = SceneManager; - return [ 4, this.sceneLoadAction() ]; - case 1: - _a.scene = _b.sent(); - this.isNewSceneLoaded = true; - return [ 2 ]; + return [2]; } }); }); }; - SceneTransition.prototype.tickEffectProgressProperty = function( - filter, duration, easeType, reverseDirection) { + SceneTransition.prototype.tickEffectProgressProperty = function ( + filter, + duration, + easeType, + reverseDirection + ) { if (reverseDirection === void 0) { reverseDirection = false; } - return new Promise(function(resolve) { + return new Promise(function (resolve) { var start = reverseDirection ? 1 : 0; var end = reverseDirection ? 0 : 1; egret.Tween.get(filter.uniforms) - .set({_progress : start}) - .to({_progress : end}, duration * 1000, easeType) - .call(function() { resolve(); }); + .set({ _progress: start }) + .to({ _progress: end }, duration * 1000, easeType) + .call(function () { + resolve(); + }); }); }; return SceneTransition; -}()); -var FadeTransition = (function(_super) { +})(); +var FadeTransition = (function (_super) { __extends(FadeTransition, _super); function FadeTransition(sceneLoadAction) { var _this = _super.call(this, sceneLoadAction) || this; @@ -3199,138 +3542,165 @@ var FadeTransition = (function(_super) { _this._mask = new egret.Shape(); return _this; } - FadeTransition.prototype.onBeginTransition = function() { - return __awaiter(this, void 0, void 0, function() { + FadeTransition.prototype.onBeginTransition = function () { + return __awaiter(this, void 0, void 0, function () { var _this = this; - return __generator(this, function(_a) { + return __generator(this, function (_a) { this._mask.graphics.beginFill(this.fadeToColor, 1); - this._mask.graphics.drawRect(0, 0, SceneManager.stage.stageWidth, - SceneManager.stage.stageHeight); + 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}, this.fadeOutDuration * 1000, this.fadeEaseType) - .call(function() { - return __awaiter(_this, void 0, void 0, function() { - return __generator(this, function(_a) { - switch (_a.label) { + .to({ _alpha: 1 }, this.fadeOutDuration * 1000, this.fadeEaseType) + .call(function () { + return __awaiter(_this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { case 0: - return [ 4, this.loadNextScene() ]; + return [4, this.loadNextScene()]; case 1: _a.sent(); - return [ 2 ]; - } - }); + return [2]; + } }); - }) - .wait(this.delayBeforeFadeInDuration) - .call(function() { - egret.Tween.get(_this) - .to({_alpha : 0}, _this.fadeOutDuration * 1000, - _this.fadeEaseType) - .call(function() { - _this.transitionComplete(); - SceneManager.stage.removeChild(_this._mask); - }); }); - return [ 2 ]; + }) + .wait(this.delayBeforeFadeInDuration) + .call(function () { + egret.Tween.get(_this) + .to( + { _alpha: 0 }, + _this.fadeOutDuration * 1000, + _this.fadeEaseType + ) + .call(function () { + _this.transitionComplete(); + SceneManager.stage.removeChild(_this._mask); + }); + }); + return [2]; }); }); }; - FadeTransition.prototype.render = function() { + FadeTransition.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.drawRect( + 0, + 0, + SceneManager.stage.stageWidth, + SceneManager.stage.stageHeight + ); this._mask.graphics.endFill(); }; return FadeTransition; -}(SceneTransition)); -var WindTransition = (function(_super) { +})(SceneTransition); +var WindTransition = (function (_super) { __extends(WindTransition, _super); function WindTransition(sceneLoadAction) { var _this = _super.call(this, sceneLoadAction) || this; _this.duration = 1; _this.easeType = egret.Ease.quadOut; var vertexSrc = - "attribute vec2 aVertexPosition;\n" + - "attribute vec2 aTextureCoord;\n" + - "uniform vec2 projectionVector;\n" + - "varying vec2 vTextureCoord;\n" + - "const vec2 center = vec2(-1.0, 1.0);\n" + - "void main(void) {\n" + - " gl_Position = vec4( (aVertexPosition / projectionVector) + center , 0.0, 1.0);\n" + - " vTextureCoord = aTextureCoord;\n" + - "}"; + "attribute vec2 aVertexPosition;\n" + + "attribute vec2 aTextureCoord;\n" + + "uniform vec2 projectionVector;\n" + + "varying vec2 vTextureCoord;\n" + + "const vec2 center = vec2(-1.0, 1.0);\n" + + "void main(void) {\n" + + " gl_Position = vec4( (aVertexPosition / projectionVector) + center , 0.0, 1.0);\n" + + " vTextureCoord = aTextureCoord;\n" + + "}"; var fragmentSrc = - "precision lowp float;\n" + - "varying vec2 vTextureCoord;\n" + - "uniform sampler2D uSampler;\n" + - "uniform float _progress;\n" + - "uniform float _size;\n" + - "uniform float _windSegments;\n" + - "void main(void) {\n" + - "vec2 co = floor(vec2(0.0, vTextureCoord.y * _windSegments));\n" + - "float x = sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453;\n" + - "float r = x - floor(x);\n" + - "float m = smoothstep(0.0, -_size, vTextureCoord.x * (1.0 - _size) + _size * r - (_progress * (1.0 + _size)));\n" + - "vec4 fg = texture2D(uSampler, vTextureCoord);\n" + - "gl_FragColor = mix(fg, vec4(0, 0, 0, 0), m);\n" + - "}"; - _this._windEffect = new egret.CustomFilter( - vertexSrc, fragmentSrc, - {_progress : 0, _size : 0.3, _windSegments : 100}); + "precision lowp float;\n" + + "varying vec2 vTextureCoord;\n" + + "uniform sampler2D uSampler;\n" + + "uniform float _progress;\n" + + "uniform float _size;\n" + + "uniform float _windSegments;\n" + + "void main(void) {\n" + + "vec2 co = floor(vec2(0.0, vTextureCoord.y * _windSegments));\n" + + "float x = sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453;\n" + + "float r = x - floor(x);\n" + + "float m = smoothstep(0.0, -_size, vTextureCoord.x * (1.0 - _size) + _size * r - (_progress * (1.0 + _size)));\n" + + "vec4 fg = texture2D(uSampler, vTextureCoord);\n" + + "gl_FragColor = mix(fg, vec4(0, 0, 0, 0), m);\n" + + "}"; + _this._windEffect = new egret.CustomFilter(vertexSrc, fragmentSrc, { + _progress: 0, + _size: 0.3, + _windSegments: 100, + }); _this._mask = new egret.Shape(); - _this._mask.graphics.beginFill(0xFFFFFF, 1); - _this._mask.graphics.drawRect(0, 0, SceneManager.stage.stageWidth, - SceneManager.stage.stageHeight); + _this._mask.graphics.beginFill(0xffffff, 1); + _this._mask.graphics.drawRect( + 0, + 0, + SceneManager.stage.stageWidth, + SceneManager.stage.stageHeight + ); _this._mask.graphics.endFill(); - _this._mask.filters = [ _this._windEffect ]; + _this._mask.filters = [_this._windEffect]; SceneManager.stage.addChild(_this._mask); return _this; } Object.defineProperty(WindTransition.prototype, "windSegments", { - set : function(value) { this._windEffect.uniforms._windSegments = value; }, - enumerable : true, - configurable : true + set: function (value) { + this._windEffect.uniforms._windSegments = value; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(WindTransition.prototype, "size", { - set : function(value) { this._windEffect.uniforms._size = value; }, - enumerable : true, - configurable : true + set: function (value) { + this._windEffect.uniforms._size = value; + }, + enumerable: true, + configurable: true, }); - WindTransition.prototype.onBeginTransition = function() { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { + WindTransition.prototype.onBeginTransition = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { switch (_a.label) { - case 0: - this.loadNextScene(); - return [ - 4, this.tickEffectProgressProperty(this._windEffect, this.duration, - this.easeType) - ]; - case 1: - _a.sent(); - this.transitionComplete(); - SceneManager.stage.removeChild(this._mask); - return [ 2 ]; + case 0: + this.loadNextScene(); + return [ + 4, + this.tickEffectProgressProperty( + this._windEffect, + this.duration, + this.easeType + ), + ]; + case 1: + _a.sent(); + this.transitionComplete(); + SceneManager.stage.removeChild(this._mask); + return [2]; } }); }); }; return WindTransition; -}(SceneTransition)); -var BaseView = (function(_super) { +})(SceneTransition); +var BaseView = (function (_super) { __extends(BaseView, _super); function BaseView() { - return _super !== null && _super.apply(this, arguments) || this; + return (_super !== null && _super.apply(this, arguments)) || this; } - BaseView.prototype.init = function() {}; - BaseView.prototype.show = function(data) {}; - BaseView.prototype.refreshData = function(data) { this._data = data; }; - BaseView.prototype.refreshView = function() {}; - BaseView.prototype.close = function() {}; - BaseView.prototype.destroy = function() { + BaseView.prototype.init = function () {}; + BaseView.prototype.show = function (data) {}; + BaseView.prototype.refreshData = function (data) { + this._data = data; + }; + BaseView.prototype.refreshView = function () {}; + BaseView.prototype.close = function () {}; + BaseView.prototype.destroy = function () { if (this.parent) { this.parent.removeChild(this); } @@ -3339,8 +3709,8 @@ var BaseView = (function(_super) { } }; return BaseView; -}(egret.DisplayObjectContainer)); -var BaseFuiView = (function(_super) { +})(egret.DisplayObjectContainer); +var BaseFuiView = (function (_super) { __extends(BaseFuiView, _super); function BaseFuiView(name) { var _this = _super.call(this) || this; @@ -3348,16 +3718,16 @@ var BaseFuiView = (function(_super) { return _this; } return BaseFuiView; -}(BaseView)); -var BaseSingle = (function() { +})(BaseView); +var BaseSingle = (function () { function BaseSingle() {} - BaseSingle.getInstance = function() { + BaseSingle.getInstance = function () { if (this._instance == null) { this._instance = new this(); } return this._instance; }; - BaseSingle.prototype.clearFuiObj = function(obj) { + BaseSingle.prototype.clearFuiObj = function (obj) { if (obj) { egret.Tween.removeTweens(obj.displayObject); if (obj.displayObject && obj.displayObject.parent) { @@ -3370,22 +3740,22 @@ var BaseSingle = (function() { return false; }; return BaseSingle; -}()); -var ViewManager = (function(_super) { +})(); +var ViewManager = (function (_super) { __extends(ViewManager, _super); function ViewManager() { - var _this = _super !== null && _super.apply(this, arguments) || this; + var _this = (_super !== null && _super.apply(this, arguments)) || this; _this._openDic = []; return _this; } - ViewManager.prototype.refreshView = function(viewClass, data) { + ViewManager.prototype.refreshView = function (viewClass, data) { var view = this.getView(viewClass); if (view) { view.refreshData(data); view.refreshView(); } }; - ViewManager.prototype.openView = function(viewClass, data, complete) { + ViewManager.prototype.openView = function (viewClass, data, complete) { var newView = this.getView(viewClass); if (!newView) { newView = new viewClass(); @@ -3397,64 +3767,83 @@ var ViewManager = (function(_super) { } this._openDic.push(newView); }; - ViewManager.prototype.getView = function(viewClass) { - var result = this._openDic.firstOrDefault(function( - a) { return a instanceof viewClass; }); + ViewManager.prototype.getView = function (viewClass) { + var result = this._openDic.firstOrDefault(function (a) { + return a instanceof viewClass; + }); return result; }; - ViewManager.prototype.existView = function(viewClass) { - return this._openDic.findIndex(function( - a) { return a instanceof viewClass; }) != -1; + ViewManager.prototype.existView = function (viewClass) { + return ( + this._openDic.findIndex(function (a) { + return a instanceof viewClass; + }) != -1 + ); }; return ViewManager; -}(BaseSingle)); -var Flags = (function() { +})(BaseSingle); +var Flags = (function () { function Flags() {} - Flags.isFlagSet = function(self, flag) { return (self & flag) != 0; }; - Flags.isUnshiftedFlagSet = function(self, flag) { + Flags.isFlagSet = function (self, flag) { + return (self & flag) != 0; + }; + Flags.isUnshiftedFlagSet = function (self, flag) { flag = 1 << flag; return (self & flag) != 0; }; - Flags.setFlagExclusive = function(self, flag) { return 1 << flag; }; - Flags.setFlag = function(self, flag) { return (self | 1 << flag); }; - Flags.unsetFlag = function(self, flag) { + Flags.setFlagExclusive = function (self, flag) { + return 1 << flag; + }; + Flags.setFlag = function (self, flag) { + return self | (1 << flag); + }; + Flags.unsetFlag = function (self, flag) { flag = 1 << flag; - return (self & (~flag)); + return self & ~flag; + }; + Flags.invertFlags = function (self) { + return ~self; }; - Flags.invertFlags = function(self) { return ~self; }; return Flags; -}()); -var MathHelper = (function() { +})(); +var MathHelper = (function () { function MathHelper() {} - MathHelper.toDegrees = function( - radians) { return radians * 57.295779513082320876798154814105; }; - MathHelper.toRadians = function( - degrees) { return degrees * 0.017453292519943295769236907684886; }; - MathHelper.map = function(value, leftMin, leftMax, rightMin, rightMax) { - return rightMin + - (value - leftMin) * (rightMax - rightMin) / (leftMax - leftMin); + MathHelper.toDegrees = function (radians) { + return radians * 57.295779513082320876798154814105; }; - MathHelper.lerp = function( - value1, value2, amount) { return value1 + (value2 - value1) * amount; }; - MathHelper.clamp = function(value, min, max) { - if (value < min) - return min; - if (value > max) - return max; + MathHelper.toRadians = function (degrees) { + return degrees * 0.017453292519943295769236907684886; + }; + MathHelper.map = function (value, leftMin, leftMax, rightMin, rightMax) { + return ( + rightMin + + ((value - leftMin) * (rightMax - rightMin)) / (leftMax - leftMin) + ); + }; + MathHelper.lerp = function (value1, value2, amount) { + return value1 + (value2 - value1) * amount; + }; + MathHelper.clamp = function (value, min, max) { + if (value < min) return min; + if (value > max) return max; return value; }; - MathHelper.pointOnCirlce = function(circleCenter, radius, angleInDegrees) { + MathHelper.pointOnCirlce = function (circleCenter, radius, angleInDegrees) { var radians = MathHelper.toRadians(angleInDegrees); - return new Vector2(Math.cos(radians) * radians + circleCenter.x, - Math.sin(radians) * radians + circleCenter.y); + return new Vector2( + Math.cos(radians) * radians + circleCenter.x, + Math.sin(radians) * radians + circleCenter.y + ); + }; + MathHelper.isEven = function (value) { + return value % 2 == 0; }; - MathHelper.isEven = function(value) { return value % 2 == 0; }; MathHelper.Epsilon = 0.00001; MathHelper.Rad2Deg = 57.29578; MathHelper.Deg2Rad = 0.0174532924; return MathHelper; -}()); -var Matrix2D = (function() { +})(); +var Matrix2D = (function () { function Matrix2D(m11, m12, m21, m22, m31, m32) { this.m11 = 0; this.m12 = 0; @@ -3470,22 +3859,28 @@ var Matrix2D = (function() { this.m32 = m32 ? m32 : 0; } Object.defineProperty(Matrix2D, "identity", { - get : function() { return Matrix2D._identity; }, - enumerable : true, - configurable : true + get: function () { + return Matrix2D._identity; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Matrix2D.prototype, "translation", { - get : function() { return new Vector2(this.m31, this.m32); }, - set : function(value) { + get: function () { + return new Vector2(this.m31, this.m32); + }, + set: function (value) { this.m31 = value.x; this.m32 = value.y; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Matrix2D.prototype, "rotation", { - get : function() { return Math.atan2(this.m21, this.m11); }, - set : function(value) { + get: function () { + return Math.atan2(this.m21, this.m11); + }, + set: function (value) { var val1 = Math.cos(value); var val2 = Math.sin(value); this.m11 = val1; @@ -3493,25 +3888,31 @@ var Matrix2D = (function() { this.m21 = -val2; this.m22 = val1; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Matrix2D.prototype, "rotationDegrees", { - get : function() { return MathHelper.toDegrees(this.rotation); }, - set : function(value) { this.rotation = MathHelper.toRadians(value); }, - enumerable : true, - configurable : true + get: function () { + return MathHelper.toDegrees(this.rotation); + }, + set: function (value) { + this.rotation = MathHelper.toRadians(value); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Matrix2D.prototype, "scale", { - get : function() { return new Vector2(this.m11, this.m22); }, - set : function(value) { + get: function () { + return new Vector2(this.m11, this.m22); + }, + set: function (value) { this.m11 = value.x; this.m12 = value.y; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); - Matrix2D.add = function(matrix1, matrix2) { + Matrix2D.add = function (matrix1, matrix2) { matrix1.m11 += matrix2.m11; matrix1.m12 += matrix2.m12; matrix1.m21 += matrix2.m21; @@ -3520,7 +3921,7 @@ var Matrix2D = (function() { matrix1.m32 += matrix2.m32; return matrix1; }; - Matrix2D.divide = function(matrix1, matrix2) { + Matrix2D.divide = function (matrix1, matrix2) { matrix1.m11 /= matrix2.m11; matrix1.m12 /= matrix2.m12; matrix1.m21 /= matrix2.m21; @@ -3529,16 +3930,16 @@ var Matrix2D = (function() { matrix1.m32 /= matrix2.m32; return matrix1; }; - Matrix2D.multiply = function(matrix1, matrix2) { + Matrix2D.multiply = function (matrix1, matrix2) { var result = new Matrix2D(); - var m11 = (matrix1.m11 * matrix2.m11) + (matrix1.m12 * matrix2.m21); - var m12 = (matrix1.m11 * matrix2.m12) + (matrix1.m12 * matrix2.m22); - var m21 = (matrix1.m21 * matrix2.m11) + (matrix1.m22 * matrix2.m21); - var m22 = (matrix1.m21 * matrix2.m12) + (matrix1.m22 * matrix2.m22); + var m11 = matrix1.m11 * matrix2.m11 + matrix1.m12 * matrix2.m21; + var m12 = matrix1.m11 * matrix2.m12 + matrix1.m12 * matrix2.m22; + var m21 = matrix1.m21 * matrix2.m11 + matrix1.m22 * matrix2.m21; + var m22 = matrix1.m21 * matrix2.m12 + matrix1.m22 * matrix2.m22; var m31 = - (matrix1.m31 * matrix2.m11) + (matrix1.m32 * matrix2.m21) + matrix2.m31; + matrix1.m31 * matrix2.m11 + matrix1.m32 * matrix2.m21 + matrix2.m31; var m32 = - (matrix1.m31 * matrix2.m12) + (matrix1.m32 * matrix2.m22) + matrix2.m32; + matrix1.m31 * matrix2.m12 + matrix1.m32 * matrix2.m22 + matrix2.m32; result.m11 = m11; result.m12 = m12; result.m21 = m21; @@ -3547,13 +3948,14 @@ var Matrix2D = (function() { result.m32 = m32; return result; }; - Matrix2D.multiplyTranslation = function(matrix, x, y) { + Matrix2D.multiplyTranslation = function (matrix, x, y) { var trans = Matrix2D.createTranslation(x, y); return Matrix2D.multiply(matrix, trans); }; - Matrix2D.prototype.determinant = - function() { return this.m11 * this.m22 - this.m12 * this.m21; }; - Matrix2D.invert = function(matrix, result) { + Matrix2D.prototype.determinant = function () { + return this.m11 * this.m22 - this.m12 * this.m21; + }; + Matrix2D.invert = function (matrix, result) { if (result === void 0) { result = new Matrix2D(); } @@ -3566,7 +3968,7 @@ var Matrix2D = (function() { result.m32 = -(matrix.m32 * matrix.m11 - matrix.m31 * matrix.m12) * det; return result; }; - Matrix2D.createTranslation = function(xPosition, yPosition, result) { + Matrix2D.createTranslation = function (xPosition, yPosition, result) { result = result ? result : new Matrix2D(); result.m11 = 1; result.m12 = 0; @@ -3576,7 +3978,7 @@ var Matrix2D = (function() { result.m32 = yPosition; return result; }; - Matrix2D.createRotation = function(radians, result) { + Matrix2D.createRotation = function (radians, result) { result = new Matrix2D(); var val1 = Math.cos(radians); var val2 = Math.sin(radians); @@ -3586,7 +3988,7 @@ var Matrix2D = (function() { result.m22 = val1; return result; }; - Matrix2D.createScale = function(xScale, yScale, result) { + Matrix2D.createScale = function (xScale, yScale, result) { if (result === void 0) { result = new Matrix2D(); } @@ -3598,15 +4000,21 @@ var Matrix2D = (function() { result.m32 = 0; return result; }; - Matrix2D.prototype.toEgretMatrix = function() { - var matrix = new egret.Matrix(this.m11, this.m12, this.m21, this.m22, - this.m31, this.m32); + Matrix2D.prototype.toEgretMatrix = function () { + var matrix = new egret.Matrix( + this.m11, + this.m12, + this.m21, + this.m22, + this.m31, + this.m32 + ); return matrix; }; Matrix2D._identity = new Matrix2D(1, 0, 0, 1, 0, 0); return Matrix2D; -}()); -var Rectangle = (function() { +})(); +var Rectangle = (function () { function Rectangle(x, y, width, height) { this.x = x ? x : 0; this.y = y ? y : 0; @@ -3614,71 +4022,95 @@ var Rectangle = (function() { this.height = height ? height : 0; } Object.defineProperty(Rectangle.prototype, "left", { - get : function() { return this.x; }, - enumerable : true, - configurable : true + get: function () { + return this.x; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Rectangle.prototype, "right", { - get : function() { return this.x + this.width; }, - enumerable : true, - configurable : true + get: function () { + return this.x + this.width; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Rectangle.prototype, "top", { - get : function() { return this.y; }, - enumerable : true, - configurable : true + get: function () { + return this.y; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Rectangle.prototype, "bottom", { - get : function() { return this.y + this.height; }, - enumerable : true, - configurable : true + get: function () { + return this.y + this.height; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Rectangle.prototype, "center", { - get : function() { - return new Vector2(this.x + (this.width / 2), this.y + (this.height / 2)); + get: function () { + return new Vector2(this.x + this.width / 2, this.y + this.height / 2); }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Rectangle.prototype, "location", { - get : function() { return new Vector2(this.x, this.y); }, - set : function(value) { + get: function () { + return new Vector2(this.x, this.y); + }, + set: function (value) { this.x = value.x; this.y = value.y; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Rectangle.prototype, "size", { - get : function() { return new Vector2(this.width, this.height); }, - set : function(value) { + get: function () { + return new Vector2(this.width, this.height); + }, + set: function (value) { this.width = value.x; this.height = value.y; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); - Rectangle.prototype.intersects = function(value) { - return value.left < this.right && this.left < value.right && - value.top < this.bottom && this.top < value.bottom; + Rectangle.prototype.intersects = function (value) { + return ( + value.left < this.right && + this.left < value.right && + value.top < this.bottom && + this.top < value.bottom + ); }; - Rectangle.prototype.contains = function(value) { - return ((((this.x <= value.x) && (value.x < (this.x + this.width))) && - (this.y <= value.y)) && - (value.y < (this.y + this.height))); + Rectangle.prototype.contains = function (value) { + return ( + this.x <= value.x && + value.x < this.x + this.width && + this.y <= value.y && + value.y < this.y + this.height + ); }; - Rectangle.prototype.containsRect = function(value) { - return ((((this.x <= value.x) && (value.x < (this.x + this.width))) && - (this.y <= value.y)) && - (value.y < (this.y + this.height))); + Rectangle.prototype.containsRect = function (value) { + return ( + this.x <= value.x && + value.x < this.x + this.width && + this.y <= value.y && + value.y < this.y + this.height + ); }; - Rectangle.prototype.getHalfSize = - function() { return new Vector2(this.width * 0.5, this.height * 0.5); }; - Rectangle.fromMinMax = function( - minX, minY, maxX, - maxY) { return new Rectangle(minX, minY, maxX - minX, maxY - minY); }; - Rectangle.prototype.getClosestPointOnRectangleBorderToPoint = function( - point) { + Rectangle.prototype.getHalfSize = function () { + return new Vector2(this.width * 0.5, this.height * 0.5); + }; + Rectangle.fromMinMax = function (minX, minY, maxX, maxY) { + return new Rectangle(minX, minY, maxX - minX, maxY - minY); + }; + Rectangle.prototype.getClosestPointOnRectangleBorderToPoint = function ( + point + ) { var edgeNormal = new Vector2(0, 0); var res = new Vector2(0, 0); res.x = MathHelper.clamp(point.x, this.left, this.right); @@ -3716,10 +4148,17 @@ var Rectangle = (function() { edgeNormal.y = 1; } } - return {res : res, edgeNormal : edgeNormal}; + return { res: res, edgeNormal: edgeNormal }; }; - Rectangle.prototype.calculateBounds = function( - parentPosition, position, origin, scale, rotation, width, height) { + Rectangle.prototype.calculateBounds = function ( + parentPosition, + position, + origin, + scale, + rotation, + width, + height + ) { if (rotation == 0) { this.x = parentPosition.x + position.x - origin.x * scale.x; this.y = parentPosition.y + position.y - origin.y * scale.y; @@ -3728,8 +4167,10 @@ var Rectangle = (function() { } else { var worldPosX = parentPosition.x + position.x; var worldPosY = parentPosition.y + position.y; - this._transformMat = Matrix2D.createTranslation(-worldPosX - origin.x, - -worldPosY - origin.y); + this._transformMat = Matrix2D.createTranslation( + -worldPosX - origin.x, + -worldPosY - origin.y + ); this._tempMat = Matrix2D.createScale(scale.x, scale.y); this._transformMat = Matrix2D.multiply(this._transformMat, this._tempMat); this._tempMat = Matrix2D.createRotation(rotation); @@ -3753,7 +4194,7 @@ var Rectangle = (function() { this.height = maxY - minY; } }; - Rectangle.rectEncompassingPoints = function(points) { + Rectangle.rectEncompassingPoints = function (points) { var minX = Number.POSITIVE_INFINITY; var minY = Number.POSITIVE_INFINITY; var maxX = Number.NEGATIVE_INFINITY; @@ -3776,8 +4217,8 @@ var Rectangle = (function() { return this.fromMinMax(minX, minY, maxX, maxY); }; return Rectangle; -}()); -var Vector2 = (function() { +})(); +var Vector2 = (function () { function Vector2(x, y) { this.x = 0; this.y = 0; @@ -3785,88 +4226,106 @@ var Vector2 = (function() { this.y = y ? y : this.x; } Object.defineProperty(Vector2, "zero", { - get : function() { return Vector2.zeroVector2; }, - enumerable : true, - configurable : true + get: function () { + return Vector2.zeroVector2; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Vector2, "one", { - get : function() { return Vector2.unitVector2; }, - enumerable : true, - configurable : true + get: function () { + return Vector2.unitVector2; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Vector2, "unitX", { - get : function() { return Vector2.unitXVector; }, - enumerable : true, - configurable : true + get: function () { + return Vector2.unitXVector; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Vector2, "unitY", { - get : function() { return Vector2.unitYVector; }, - enumerable : true, - configurable : true + get: function () { + return Vector2.unitYVector; + }, + enumerable: true, + configurable: true, }); - Vector2.add = function(value1, value2) { + Vector2.add = function (value1, value2) { var result = new Vector2(0, 0); result.x = value1.x + value2.x; result.y = value1.y + value2.y; return result; }; - Vector2.divide = function(value1, value2) { + Vector2.divide = function (value1, value2) { var result = new Vector2(0, 0); result.x = value1.x / value2.x; result.y = value1.y / value2.y; return result; }; - Vector2.multiply = function(value1, value2) { + Vector2.multiply = function (value1, value2) { var result = new Vector2(0, 0); result.x = value1.x * value2.x; result.y = value1.y * value2.y; return result; }; - Vector2.subtract = function(value1, value2) { + Vector2.subtract = function (value1, value2) { var result = new Vector2(0, 0); result.x = value1.x - value2.x; result.y = value1.y - value2.y; return result; }; - Vector2.prototype.normalize = function() { - var val = 1 / Math.sqrt((this.x * this.x) + (this.y * this.y)); + Vector2.prototype.normalize = function () { + var val = 1 / Math.sqrt(this.x * this.x + this.y * this.y); this.x *= val; this.y *= val; }; - Vector2.prototype.length = - function() { return Math.sqrt((this.x * this.x) + (this.y * this.y)); }; - Vector2.prototype.round = function() { + Vector2.prototype.length = function () { + return Math.sqrt(this.x * this.x + this.y * this.y); + }; + Vector2.prototype.round = function () { return new Vector2(Math.round(this.x), Math.round(this.y)); }; - Vector2.normalize = function(value) { - var val = 1 / Math.sqrt((value.x * value.x) + (value.y * value.y)); + Vector2.normalize = function (value) { + var val = 1 / Math.sqrt(value.x * value.x + value.y * value.y); value.x *= val; value.y *= val; return value; }; - Vector2.dot = function( - value1, value2) { return (value1.x * value2.x) + (value1.y * value2.y); }; - Vector2.distanceSquared = function(value1, value2) { - var v1 = value1.x - value2.x, v2 = value1.y - value2.y; - return (v1 * v1) + (v2 * v2); + Vector2.dot = function (value1, value2) { + return value1.x * value2.x + value1.y * value2.y; }; - Vector2.clamp = function(value1, min, max) { - return new Vector2(MathHelper.clamp(value1.x, min.x, max.x), - MathHelper.clamp(value1.y, min.y, max.y)); + Vector2.distanceSquared = function (value1, value2) { + var v1 = value1.x - value2.x, + v2 = value1.y - value2.y; + return v1 * v1 + v2 * v2; }; - Vector2.lerp = function(value1, value2, amount) { - return new Vector2(MathHelper.lerp(value1.x, value2.x, amount), - MathHelper.lerp(value1.y, value2.y, amount)); + Vector2.clamp = function (value1, min, max) { + return new Vector2( + MathHelper.clamp(value1.x, min.x, max.x), + MathHelper.clamp(value1.y, min.y, max.y) + ); }; - Vector2.transform = function(position, matrix) { - return new Vector2((position.x * matrix.m11) + (position.y * matrix.m21), - (position.x * matrix.m12) + (position.y * matrix.m22)); + Vector2.lerp = function (value1, value2, amount) { + return new Vector2( + MathHelper.lerp(value1.x, value2.x, amount), + MathHelper.lerp(value1.y, value2.y, amount) + ); }; - Vector2.distance = function(value1, value2) { - var v1 = value1.x - value2.x, v2 = value1.y - value2.y; - return Math.sqrt((v1 * v1) + (v2 * v2)); + Vector2.transform = function (position, matrix) { + return new Vector2( + position.x * matrix.m11 + position.y * matrix.m21, + position.x * matrix.m12 + position.y * matrix.m22 + ); }; - Vector2.negate = function(value) { + Vector2.distance = function (value1, value2) { + var v1 = value1.x - value2.x, + v2 = value1.y - value2.y; + return Math.sqrt(v1 * v1 + v2 * v2); + }; + Vector2.negate = function (value) { var result = new Vector2(); result.x = -value.x; result.y = -value.y; @@ -3877,43 +4336,46 @@ var Vector2 = (function() { Vector2.unitVector2 = new Vector2(1, 1); Vector2.zeroVector2 = new Vector2(0, 0); return Vector2; -}()); -var Vector3 = (function() { +})(); +var Vector3 = (function () { function Vector3(x, y, z) { this.x = x; this.y = y; this.z = z; } return Vector3; -}()); -var ColliderTriggerHelper = (function() { +})(); +var ColliderTriggerHelper = (function () { function ColliderTriggerHelper(entity) { this._activeTriggerIntersections = []; this._previousTriggerIntersections = []; this._tempTriggerList = []; this._entity = entity; } - ColliderTriggerHelper.prototype.update = function() { + ColliderTriggerHelper.prototype.update = function () { var colliders = this._entity.getComponents(Collider); for (var i = 0; i < colliders.length; i++) { var collider = colliders[i]; - var neighbors = Physics.boxcastBroadphase(collider.bounds, - collider.collidesWithLayers); - var _loop_5 = function(j) { + var neighbors = Physics.boxcastBroadphase( + collider.bounds, + collider.collidesWithLayers + ); + var _loop_5 = function (j) { var neighbor = neighbors[j]; - if (!collider.isTrigger && !neighbor.isTrigger) - return "continue"; + if (!collider.isTrigger && !neighbor.isTrigger) return "continue"; if (collider.overlaps(neighbor)) { var pair_1 = new Pair(collider, neighbor); var shouldReportTriggerEvent = - this_1._activeTriggerIntersections.findIndex(function(value) { - return value.first == pair_1.first && - value.second == pair_1.second; - }) == -1 && - this_1._previousTriggerIntersections.findIndex(function(value) { - return value.first == pair_1.first && - value.second == pair_1.second; - }) == -1; + this_1._activeTriggerIntersections.findIndex(function (value) { + return ( + value.first == pair_1.first && value.second == pair_1.second + ); + }) == -1 && + this_1._previousTriggerIntersections.findIndex(function (value) { + return ( + value.first == pair_1.first && value.second == pair_1.second + ); + }) == -1; if (shouldReportTriggerEvent) this_1.notifyTriggerListeners(pair_1, true); if (!this_1._activeTriggerIntersections.contains(pair_1)) @@ -3928,18 +4390,20 @@ var ColliderTriggerHelper = (function() { ListPool.free(colliders); this.checkForExitedColliders(); }; - ColliderTriggerHelper.prototype.checkForExitedColliders = function() { + ColliderTriggerHelper.prototype.checkForExitedColliders = function () { var _this = this; - var _loop_6 = function(i) { - var index = - this_2._previousTriggerIntersections.findIndex(function(value) { - if (value.first == _this._activeTriggerIntersections[i].first && - value.second == _this._activeTriggerIntersections[i].second) - return true; - return false; - }); - if (index != -1) - this_2._previousTriggerIntersections.removeAt(index); + var _loop_6 = function (i) { + var index = this_2._previousTriggerIntersections.findIndex(function ( + value + ) { + if ( + value.first == _this._activeTriggerIntersections[i].first && + value.second == _this._activeTriggerIntersections[i].second + ) + return true; + return false; + }); + if (index != -1) this_2._previousTriggerIntersections.removeAt(index); }; var this_2 = this; for (var i = 0; i < this._activeTriggerIntersections.length; i++) { @@ -3950,37 +4414,55 @@ var ColliderTriggerHelper = (function() { } this._previousTriggerIntersections.length = 0; for (var i = 0; i < this._activeTriggerIntersections.length; i++) { - if (!this._previousTriggerIntersections.contains( - this._activeTriggerIntersections[i])) { + if ( + !this._previousTriggerIntersections.contains( + this._activeTriggerIntersections[i] + ) + ) { this._previousTriggerIntersections.push( - this._activeTriggerIntersections[i]); + this._activeTriggerIntersections[i] + ); } } this._activeTriggerIntersections.length = 0; }; - ColliderTriggerHelper.prototype.notifyTriggerListeners = function( - collisionPair, isEntering) { - collisionPair.first.entity.getComponents("ITriggerListener", - this._tempTriggerList); + ColliderTriggerHelper.prototype.notifyTriggerListeners = function ( + collisionPair, + isEntering + ) { + collisionPair.first.entity.getComponents( + "ITriggerListener", + this._tempTriggerList + ); for (var i = 0; i < this._tempTriggerList.length; i++) { if (isEntering) { - this._tempTriggerList[i].onTriggerEnter(collisionPair.second, - collisionPair.first); + this._tempTriggerList[i].onTriggerEnter( + collisionPair.second, + collisionPair.first + ); } else { - this._tempTriggerList[i].onTriggerExit(collisionPair.second, - collisionPair.first); + this._tempTriggerList[i].onTriggerExit( + collisionPair.second, + collisionPair.first + ); } this._tempTriggerList.length = 0; if (collisionPair.second.entity) { - collisionPair.second.entity.getComponents("ITriggerListener", - this._tempTriggerList); + collisionPair.second.entity.getComponents( + "ITriggerListener", + this._tempTriggerList + ); for (var i_2 = 0; i_2 < this._tempTriggerList.length; i_2++) { if (isEntering) { - this._tempTriggerList[i_2].onTriggerEnter(collisionPair.first, - collisionPair.second); + this._tempTriggerList[i_2].onTriggerEnter( + collisionPair.first, + collisionPair.second + ); } else { - this._tempTriggerList[i_2].onTriggerExit(collisionPair.first, - collisionPair.second); + this._tempTriggerList[i_2].onTriggerExit( + collisionPair.first, + collisionPair.second + ); } } this._tempTriggerList.length = 0; @@ -3988,86 +4470,104 @@ var ColliderTriggerHelper = (function() { } }; return ColliderTriggerHelper; -}()); +})(); var PointSectors; -(function(PointSectors) { -PointSectors[PointSectors["center"] = 0] = "center"; -PointSectors[PointSectors["top"] = 1] = "top"; -PointSectors[PointSectors["bottom"] = 2] = "bottom"; -PointSectors[PointSectors["topLeft"] = 9] = "topLeft"; -PointSectors[PointSectors["topRight"] = 5] = "topRight"; -PointSectors[PointSectors["left"] = 8] = "left"; -PointSectors[PointSectors["right"] = 4] = "right"; -PointSectors[PointSectors["bottomLeft"] = 10] = "bottomLeft"; -PointSectors[PointSectors["bottomRight"] = 6] = "bottomRight"; +(function (PointSectors) { + PointSectors[(PointSectors["center"] = 0)] = "center"; + PointSectors[(PointSectors["top"] = 1)] = "top"; + PointSectors[(PointSectors["bottom"] = 2)] = "bottom"; + PointSectors[(PointSectors["topLeft"] = 9)] = "topLeft"; + PointSectors[(PointSectors["topRight"] = 5)] = "topRight"; + PointSectors[(PointSectors["left"] = 8)] = "left"; + PointSectors[(PointSectors["right"] = 4)] = "right"; + PointSectors[(PointSectors["bottomLeft"] = 10)] = "bottomLeft"; + PointSectors[(PointSectors["bottomRight"] = 6)] = "bottomRight"; })(PointSectors || (PointSectors = {})); -var Collisions = (function() { +var Collisions = (function () { function Collisions() {} - Collisions.isLineToLine = function(a1, a2, b1, b2) { + Collisions.isLineToLine = function (a1, a2, b1, b2) { var b = Vector2.subtract(a2, a1); var d = Vector2.subtract(b2, b1); var bDotDPerp = b.x * d.y - b.y * d.x; - if (bDotDPerp == 0) - return false; + if (bDotDPerp == 0) return false; var c = Vector2.subtract(b1, a1); var t = (c.x * d.y - c.y * d.x) / bDotDPerp; - if (t < 0 || t > 1) - return false; + if (t < 0 || t > 1) return false; var u = (c.x * b.y - c.y * b.x) / bDotDPerp; - if (u < 0 || u > 1) - return false; + if (u < 0 || u > 1) return false; return true; }; - Collisions.lineToLineIntersection = function(a1, a2, b1, b2) { + Collisions.lineToLineIntersection = function (a1, a2, b1, b2) { var intersection = new Vector2(0, 0); var b = Vector2.subtract(a2, a1); var d = Vector2.subtract(b2, b1); var bDotDPerp = b.x * d.y - b.y * d.x; - if (bDotDPerp == 0) - return intersection; + if (bDotDPerp == 0) return intersection; var c = Vector2.subtract(b1, a1); var t = (c.x * d.y - c.y * d.x) / bDotDPerp; - if (t < 0 || t > 1) - return intersection; + if (t < 0 || t > 1) return intersection; var u = (c.x * b.y - c.y * b.x) / bDotDPerp; - if (u < 0 || u > 1) - return intersection; + if (u < 0 || u > 1) return intersection; intersection = Vector2.add(a1, new Vector2(t * b.x, t * b.y)); return intersection; }; - Collisions.closestPointOnLine = function(lineA, lineB, closestTo) { + Collisions.closestPointOnLine = function (lineA, lineB, closestTo) { var v = Vector2.subtract(lineB, lineA); var w = Vector2.subtract(closestTo, lineA); var t = Vector2.dot(w, v) / Vector2.dot(v, v); t = MathHelper.clamp(t, 0, 1); return Vector2.add(lineA, new Vector2(v.x * t, v.y * t)); }; - Collisions.isCircleToCircle = function(circleCenter1, circleRadius1, - circleCenter2, circleRadius2) { - return Vector2.distanceSquared(circleCenter1, circleCenter2) < - (circleRadius1 + circleRadius2) * (circleRadius1 + circleRadius2); + Collisions.isCircleToCircle = function ( + circleCenter1, + circleRadius1, + circleCenter2, + circleRadius2 + ) { + return ( + Vector2.distanceSquared(circleCenter1, circleCenter2) < + (circleRadius1 + circleRadius2) * (circleRadius1 + circleRadius2) + ); }; - Collisions.isCircleToLine = function(circleCenter, radius, lineFrom, lineTo) { - return Vector2.distanceSquared( - circleCenter, - this.closestPointOnLine(lineFrom, lineTo, circleCenter)) < - radius * radius; + Collisions.isCircleToLine = function ( + circleCenter, + radius, + lineFrom, + lineTo + ) { + return ( + Vector2.distanceSquared( + circleCenter, + this.closestPointOnLine(lineFrom, lineTo, circleCenter) + ) < + radius * radius + ); }; - Collisions.isCircleToPoint = function(circleCenter, radius, point) { + Collisions.isCircleToPoint = function (circleCenter, radius, point) { return Vector2.distanceSquared(circleCenter, point) < radius * radius; }; - Collisions.isRectToCircle = function(rect, cPosition, cRadius) { + Collisions.isRectToCircle = function (rect, cPosition, cRadius) { var ew = rect.width * 0.5; var eh = rect.height * 0.5; var vx = Math.max(0, Math.max(cPosition.x - rect.x) - ew); var vy = Math.max(0, Math.max(cPosition.y - rect.y) - eh); return vx * vx + vy * vy < cRadius * cRadius; }; - Collisions.isRectToLine = function(rect, lineFrom, lineTo) { - var fromSector = - this.getSector(rect.x, rect.y, rect.width, rect.height, lineFrom); - var toSector = - this.getSector(rect.x, rect.y, rect.width, rect.height, lineTo); + Collisions.isRectToLine = function (rect, lineFrom, lineTo) { + var fromSector = this.getSector( + rect.x, + rect.y, + rect.width, + rect.height, + lineFrom + ); + var toSector = this.getSector( + rect.x, + rect.y, + rect.width, + rect.height, + lineTo + ); if (fromSector == PointSectors.center || toSector == PointSectors.center) { return true; } else if ((fromSector & toSector) != 0) { @@ -4079,89 +4579,90 @@ var Collisions = (function() { if ((both & PointSectors.top) != 0) { edgeFrom = new Vector2(rect.x, rect.y); edgeTo = new Vector2(rect.x + rect.width, rect.y); - if (this.isLineToLine(edgeFrom, edgeTo, lineFrom, lineTo)) - return true; + if (this.isLineToLine(edgeFrom, edgeTo, lineFrom, lineTo)) return true; } if ((both & PointSectors.bottom) != 0) { edgeFrom = new Vector2(rect.x, rect.y + rect.height); edgeTo = new Vector2(rect.x + rect.width, rect.y + rect.height); - if (this.isLineToLine(edgeFrom, edgeTo, lineFrom, lineTo)) - return true; + if (this.isLineToLine(edgeFrom, edgeTo, lineFrom, lineTo)) return true; } if ((both & PointSectors.left) != 0) { edgeFrom = new Vector2(rect.x, rect.y); edgeTo = new Vector2(rect.x, rect.y + rect.height); - if (this.isLineToLine(edgeFrom, edgeTo, lineFrom, lineTo)) - return true; + if (this.isLineToLine(edgeFrom, edgeTo, lineFrom, lineTo)) return true; } if ((both & PointSectors.right) != 0) { edgeFrom = new Vector2(rect.x + rect.width, rect.y); edgeTo = new Vector2(rect.x + rect.width, rect.y + rect.height); - if (this.isLineToLine(edgeFrom, edgeTo, lineFrom, lineTo)) - return true; + if (this.isLineToLine(edgeFrom, edgeTo, lineFrom, lineTo)) return true; } } return false; }; - Collisions.isRectToPoint = function(rX, rY, rW, rH, point) { - return point.x >= rX && point.y >= rY && point.x < rX + rW && - point.y < rY + rH; + Collisions.isRectToPoint = function (rX, rY, rW, rH, point) { + return ( + point.x >= rX && point.y >= rY && point.x < rX + rW && point.y < rY + rH + ); }; - Collisions.getSector = function(rX, rY, rW, rH, point) { + Collisions.getSector = function (rX, rY, rW, rH, point) { var sector = PointSectors.center; - if (point.x < rX) - sector |= PointSectors.left; - else if (point.x >= rX + rW) - sector |= PointSectors.right; - if (point.y < rY) - sector |= PointSectors.top; - else if (point.y >= rY + rH) - sector |= PointSectors.bottom; + if (point.x < rX) sector |= PointSectors.left; + else if (point.x >= rX + rW) sector |= PointSectors.right; + if (point.y < rY) sector |= PointSectors.top; + else if (point.y >= rY + rH) sector |= PointSectors.bottom; return sector; }; return Collisions; -}()); -var Physics = (function() { +})(); +var Physics = (function () { function Physics() {} - Physics.reset = function() { + Physics.reset = function () { this._spatialHash = new SpatialHash(this.spatialHashCellSize); }; - Physics.clear = function() { this._spatialHash.clear(); }; - Physics.overlapCircleAll = function(center, randius, results, layerMask) { + Physics.clear = function () { + this._spatialHash.clear(); + }; + Physics.overlapCircleAll = function (center, randius, results, layerMask) { if (layerMask === void 0) { layerMask = -1; } return this._spatialHash.overlapCircle(center, randius, results, layerMask); }; - Physics.boxcastBroadphase = function(rect, layerMask) { + Physics.boxcastBroadphase = function (rect, layerMask) { if (layerMask === void 0) { layerMask = this.allLayers; } return this._spatialHash.aabbBroadphase(rect, null, layerMask); }; - Physics.boxcastBroadphaseExcludingSelf = function(collider, rect, layerMask) { + Physics.boxcastBroadphaseExcludingSelf = function ( + collider, + rect, + layerMask + ) { if (layerMask === void 0) { layerMask = this.allLayers; } return this._spatialHash.aabbBroadphase(rect, collider, layerMask); }; - Physics.addCollider = function( - collider) { Physics._spatialHash.register(collider); }; - Physics.removeCollider = function( - collider) { Physics._spatialHash.remove(collider); }; - Physics.updateCollider = function(collider) { + Physics.addCollider = function (collider) { + Physics._spatialHash.register(collider); + }; + Physics.removeCollider = function (collider) { + Physics._spatialHash.remove(collider); + }; + Physics.updateCollider = function (collider) { this._spatialHash.remove(collider); this._spatialHash.register(collider); }; Physics.spatialHashCellSize = 100; Physics.allLayers = -1; return Physics; -}()); -var Shape = (function() { +})(); +var Shape = (function () { function Shape() {} return Shape; -}()); -var Polygon = (function(_super) { +})(); +var Polygon = (function (_super) { __extends(Polygon, _super); function Polygon(points, isBox) { var _this = _super.call(this) || this; @@ -4172,31 +4673,28 @@ var Polygon = (function(_super) { return _this; } Object.defineProperty(Polygon.prototype, "edgeNormals", { - get : function() { - if (this._areEdgeNormalsDirty) - this.buildEdgeNormals(); + get: function () { + if (this._areEdgeNormalsDirty) this.buildEdgeNormals(); return this._edgeNormals; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); - Polygon.prototype.buildEdgeNormals = function() { + Polygon.prototype.buildEdgeNormals = function () { var totalEdges = this.isBox ? 2 : this.points.length; if (this._edgeNormals == null || this._edgeNormals.length != totalEdges) this._edgeNormals = new Array(totalEdges); var p2; for (var i = 0; i < totalEdges; i++) { var p1 = this.points[i]; - if (i + 1 >= this.points.length) - p2 = this.points[0]; - else - p2 = this.points[i + 1]; + if (i + 1 >= this.points.length) p2 = this.points[0]; + else p2 = this.points[i + 1]; var perp = Vector2Ext.perpendicular(p1, p2); perp = Vector2.normalize(perp); this._edgeNormals[i] = perp; } }; - Polygon.prototype.setPoints = function(points) { + Polygon.prototype.setPoints = function (points) { this.points = points; this.recalculateCenterAndEdgeNormals(); this._originalPoints = []; @@ -4204,7 +4702,7 @@ var Polygon = (function(_super) { this._originalPoints.push(this.points[i]); } }; - Polygon.prototype.collidesWithShape = function(other) { + Polygon.prototype.collidesWithShape = function (other) { var result = new CollisionResult(); if (other instanceof Polygon) { return ShapeCollisions.polygonToPolygon(this, other); @@ -4219,11 +4717,11 @@ var Polygon = (function(_super) { } throw new Error("overlaps of Polygon to " + other + " are not supported"); }; - Polygon.prototype.recalculateCenterAndEdgeNormals = function() { + Polygon.prototype.recalculateCenterAndEdgeNormals = function () { this._polygonCenter = Polygon.findPolygonCenter(this.points); this._areEdgeNormalsDirty = true; }; - Polygon.prototype.overlaps = function(other) { + Polygon.prototype.overlaps = function (other) { var result; if (other instanceof Polygon) return ShapeCollisions.polygonToPolygon(this, other); @@ -4237,25 +4735,28 @@ var Polygon = (function(_super) { } throw new Error("overlaps of Pologon to " + other + " are not supported"); }; - Polygon.findPolygonCenter = function(points) { - var x = 0, y = 0; + Polygon.findPolygonCenter = function (points) { + var x = 0, + y = 0; for (var i = 0; i < points.length; i++) { x += points[i].x; y += points[i].y; } return new Vector2(x / points.length, y / points.length); }; - Polygon.getClosestPointOnPolygonToPoint = function(points, point) { + Polygon.getClosestPointOnPolygonToPoint = function (points, point) { var distanceSquared = Number.MAX_VALUE; var edgeNormal = new Vector2(0, 0); var closestPoint = new Vector2(0, 0); var tempDistanceSquared; for (var i = 0; i < points.length; i++) { var j = i + 1; - if (j == points.length) - j = 0; - var closest = - ShapeCollisions.closestPointOnLine(points[i], points[j], point); + if (j == points.length) j = 0; + var closest = ShapeCollisions.closestPointOnLine( + points[i], + points[j], + point + ); tempDistanceSquared = Vector2.distanceSquared(point, closest); if (tempDistanceSquared < distanceSquared) { distanceSquared = tempDistanceSquared; @@ -4267,29 +4768,36 @@ var Polygon = (function(_super) { } edgeNormal = Vector2.normalize(edgeNormal); return { - closestPoint : closestPoint, - distanceSquared : distanceSquared, - edgeNormal : edgeNormal + closestPoint: closestPoint, + distanceSquared: distanceSquared, + edgeNormal: edgeNormal, }; }; - Polygon.prototype.pointCollidesWithShape = function( - point) { return ShapeCollisions.pointToPoly(point, this); }; - Polygon.prototype.containsPoint = function(point) { + Polygon.prototype.pointCollidesWithShape = function (point) { + return ShapeCollisions.pointToPoly(point, this); + }; + Polygon.prototype.containsPoint = function (point) { point = Vector2.subtract(point, this.position); var isInside = false; - for (var i = 0, j = this.points.length - 1; i < this.points.length; - j = i++) { - if (((this.points[i].y > point.y) != (this.points[j].y > point.y)) && - (point.x < (this.points[j].x - this.points[i].x) * - (point.y - this.points[i].y) / - (this.points[j].y - this.points[i].y) + - this.points[i].x)) { + for ( + var i = 0, j = this.points.length - 1; + i < this.points.length; + j = i++ + ) { + if ( + this.points[i].y > point.y != this.points[j].y > point.y && + point.x < + ((this.points[j].x - this.points[i].x) * + (point.y - this.points[i].y)) / + (this.points[j].y - this.points[i].y) + + this.points[i].x + ) { isInside = !isInside; } } return isInside; }; - Polygon.buildSymmertricalPolygon = function(vertCount, radius) { + Polygon.buildSymmertricalPolygon = function (vertCount, radius) { var verts = new Array(vertCount); for (var i = 0; i < vertCount; i++) { var a = 2 * Math.PI * (i / vertCount); @@ -4297,52 +4805,62 @@ var Polygon = (function(_super) { } return verts; }; - Polygon.prototype.recalculateBounds = function(collider) { + Polygon.prototype.recalculateBounds = function (collider) { this.center = collider.localOffset; if (collider.shouldColliderScaleAndRotationWithTransform) { var hasUnitScale = true; var tempMat = void 0; - var combinedMatrix = Matrix2D.createTranslation(-this._polygonCenter.x, - -this._polygonCenter.y); + var combinedMatrix = Matrix2D.createTranslation( + -this._polygonCenter.x, + -this._polygonCenter.y + ); if (collider.entity.scale != Vector2.one) { - tempMat = Matrix2D.createScale(collider.entity.scale.x, - collider.entity.scale.y); + tempMat = Matrix2D.createScale( + collider.entity.scale.x, + collider.entity.scale.y + ); combinedMatrix = Matrix2D.multiply(combinedMatrix, tempMat); hasUnitScale = false; - var scaledOffset = - Vector2.multiply(collider.localOffset, collider.entity.scale); + var scaledOffset = Vector2.multiply( + collider.localOffset, + collider.entity.scale + ); this.center = scaledOffset; } if (collider.entity.rotation != 0) { tempMat = Matrix2D.createRotation(collider.entity.rotation); combinedMatrix = Matrix2D.multiply(combinedMatrix, tempMat); var offsetAngle = - Math.atan2(collider.localOffset.y, collider.localOffset.x) * - MathHelper.Rad2Deg; + Math.atan2(collider.localOffset.y, collider.localOffset.x) * + MathHelper.Rad2Deg; var offsetLength = hasUnitScale - ? collider._localOffsetLength - : (Vector2.multiply(collider.localOffset, - collider.entity.scale)) - .length(); + ? collider._localOffsetLength + : Vector2.multiply( + collider.localOffset, + collider.entity.scale + ).length(); this.center = MathHelper.pointOnCirlce( - Vector2.zero, offsetLength, - MathHelper.toDegrees(collider.entity.rotation) + offsetAngle); + Vector2.zero, + offsetLength, + MathHelper.toDegrees(collider.entity.rotation) + offsetAngle + ); } - tempMat = Matrix2D.createTranslation(this._polygonCenter.x, - this._polygonCenter.y); + tempMat = Matrix2D.createTranslation( + this._polygonCenter.x, + this._polygonCenter.y + ); combinedMatrix = Matrix2D.multiply(combinedMatrix, tempMat); Vector2Ext.transform(this._originalPoints, combinedMatrix, this.points); this.isUnrotated = collider.entity.rotation == 0; - if (collider._isRotationDirty) - this._areEdgeNormalsDirty = true; + if (collider._isRotationDirty) this._areEdgeNormalsDirty = true; } this.position = Vector2.add(collider.entity.position, this.center); this.bounds = Rectangle.rectEncompassingPoints(this.points); this.bounds.location = Vector2.add(this.bounds.location, this.position); }; return Polygon; -}(Shape)); -var Box = (function(_super) { +})(Shape); +var Box = (function (_super) { __extends(Box, _super); function Box(width, height) { var _this = _super.call(this, Box.buildBox(width, height), true) || this; @@ -4350,7 +4868,7 @@ var Box = (function(_super) { _this.height = height; return _this; } - Box.buildBox = function(width, height) { + Box.buildBox = function (width, height) { var halfWidth = width / 2; var halfHeight = height / 2; var verts = new Array(4); @@ -4360,7 +4878,7 @@ var Box = (function(_super) { verts[3] = new Vector2(-halfWidth, halfHeight); return verts; }; - Box.prototype.updateBox = function(width, height) { + Box.prototype.updateBox = function (width, height) { this.width = width; this.height = height; var halfWidth = width / 2; @@ -4372,14 +4890,13 @@ var Box = (function(_super) { for (var i = 0; i < this.points.length; i++) this._originalPoints[i] = this.points[i]; }; - Box.prototype.containsPoint = function(point) { - if (this.isUnrotated) - return this.bounds.contains(point); + Box.prototype.containsPoint = function (point) { + if (this.isUnrotated) return this.bounds.contains(point); return _super.prototype.containsPoint.call(this, point); }; return Box; -}(Polygon)); -var Circle = (function(_super) { +})(Polygon); +var Circle = (function (_super) { __extends(Circle, _super); function Circle(radius) { var _this = _super.call(this) || this; @@ -4387,9 +4904,10 @@ var Circle = (function(_super) { _this._originalRadius = radius; return _this; } - Circle.prototype.pointCollidesWithShape = function( - point) { return ShapeCollisions.pointToCircle(point, this); }; - Circle.prototype.collidesWithShape = function(other) { + Circle.prototype.pointCollidesWithShape = function (point) { + return ShapeCollisions.pointToCircle(point, this); + }; + Circle.prototype.collidesWithShape = function (other) { if (other instanceof Box && other.isUnrotated) { return ShapeCollisions.circleToBox(this, other); } @@ -4401,7 +4919,7 @@ var Circle = (function(_super) { } throw new Error("Collisions of Circle to " + other + " are not supported"); }; - Circle.prototype.recalculateBounds = function(collider) { + Circle.prototype.recalculateBounds = function (collider) { this.center = collider.localOffset; if (collider.shouldColliderScaleAndRotationWithTransform) { var scale = collider.entity.scale; @@ -4410,48 +4928,62 @@ var Circle = (function(_super) { this.radius = this._originalRadius * maxScale; if (collider.entity.rotation != 0) { var offsetAngle = - Math.atan2(collider.localOffset.y, collider.localOffset.x) * - MathHelper.Rad2Deg; + Math.atan2(collider.localOffset.y, collider.localOffset.x) * + MathHelper.Rad2Deg; var offsetLength = hasUnitScale - ? collider._localOffsetLength - : (Vector2.multiply(collider.localOffset, - collider.entity.scale)) - .length(); + ? collider._localOffsetLength + : Vector2.multiply( + collider.localOffset, + collider.entity.scale + ).length(); this.center = MathHelper.pointOnCirlce( - Vector2.zero, offsetLength, - MathHelper.toDegrees(collider.entity.rotation) + offsetAngle); + Vector2.zero, + offsetLength, + MathHelper.toDegrees(collider.entity.rotation) + offsetAngle + ); } } this.position = Vector2.add(collider.entity.position, this.center); - this.bounds = new Rectangle(this.position.x - this.radius, - this.position.y - this.radius, this.radius * 2, - this.radius * 2); + this.bounds = new Rectangle( + this.position.x - this.radius, + this.position.y - this.radius, + this.radius * 2, + this.radius * 2 + ); }; - Circle.prototype.overlaps = function(other) { + Circle.prototype.overlaps = function (other) { if (other instanceof Box && other.isUnrotated) - return Collisions.isRectToCircle(other.bounds, this.position, - this.radius); + return Collisions.isRectToCircle( + other.bounds, + this.position, + this.radius + ); if (other instanceof Circle) - return Collisions.isCircleToCircle(this.position, this.radius, - other.position, other.radius); + return Collisions.isCircleToCircle( + this.position, + this.radius, + other.position, + other.radius + ); if (other instanceof Polygon) return ShapeCollisions.circleToPolygon(this, other); throw new Error("overlaps of circle to " + other + " are not supported"); }; return Circle; -}(Shape)); -var CollisionResult = (function() { +})(Shape); +var CollisionResult = (function () { function CollisionResult() {} - CollisionResult.prototype.invertResult = function() { - this.minimumTranslationVector = - Vector2.negate(this.minimumTranslationVector); + CollisionResult.prototype.invertResult = function () { + this.minimumTranslationVector = Vector2.negate( + this.minimumTranslationVector + ); this.normal = Vector2.negate(this.normal); }; return CollisionResult; -}()); -var ShapeCollisions = (function() { +})(); +var ShapeCollisions = (function () { function ShapeCollisions() {} - ShapeCollisions.polygonToPolygon = function(first, second) { + ShapeCollisions.polygonToPolygon = function (first, second) { var result = new CollisionResult(); var isIntersecting = true; var firstEdges = first.edgeNormals; @@ -4460,8 +4992,11 @@ var ShapeCollisions = (function() { var translationAxis = new Vector2(); var polygonOffset = Vector2.subtract(first.position, second.position); var axis; - for (var edgeIndex = 0; edgeIndex < firstEdges.length + secondEdges.length; - edgeIndex++) { + for ( + var edgeIndex = 0; + edgeIndex < firstEdges.length + secondEdges.length; + edgeIndex++ + ) { if (edgeIndex < firstEdges.length) { axis = firstEdges[edgeIndex]; } else { @@ -4482,10 +5017,8 @@ var ShapeCollisions = (function() { minA += relativeIntervalOffset; maxA += relativeIntervalOffset; intervalDist = this.intervalDistance(minA, maxA, minB, maxB); - if (intervalDist > 0) - isIntersecting = false; - if (!isIntersecting) - return null; + if (intervalDist > 0) isIntersecting = false; + if (!isIntersecting) return null; intervalDist = Math.abs(intervalDist); if (intervalDist < minIntervalDistance) { minIntervalDistance = intervalDist; @@ -4496,15 +5029,16 @@ var ShapeCollisions = (function() { } result.normal = translationAxis; result.minimumTranslationVector = Vector2.multiply( - new Vector2(-translationAxis), new Vector2(minIntervalDistance)); + new Vector2(-translationAxis), + new Vector2(minIntervalDistance) + ); return result; }; - ShapeCollisions.intervalDistance = function(minA, maxA, minB, maxB) { - if (minA < minB) - return minB - maxA; + ShapeCollisions.intervalDistance = function (minA, maxA, minB, maxB) { + if (minA < minB) return minB - maxA; return minA - minB; }; - ShapeCollisions.getInterval = function(axis, polygon, min, max) { + ShapeCollisions.getInterval = function (axis, polygon, min, max) { var dot = Vector2.dot(polygon.points[0], axis); min = max = dot; for (var i = 1; i < polygon.points.length; i++) { @@ -4515,132 +5049,163 @@ var ShapeCollisions = (function() { max = dot; } } - return {min : min, max : max}; + return { min: min, max: max }; }; - ShapeCollisions.circleToPolygon = function(circle, polygon) { + ShapeCollisions.circleToPolygon = function (circle, polygon) { var result = new CollisionResult(); var poly2Circle = Vector2.subtract(circle.position, polygon.position); - var gpp = - Polygon.getClosestPointOnPolygonToPoint(polygon.points, poly2Circle); + var gpp = Polygon.getClosestPointOnPolygonToPoint( + polygon.points, + poly2Circle + ); var closestPoint = gpp.closestPoint; var distanceSquared = gpp.distanceSquared; result.normal = gpp.edgeNormal; var circleCenterInsidePoly = polygon.containsPoint(circle.position); - if (distanceSquared > circle.radius * circle.radius && - !circleCenterInsidePoly) + if ( + distanceSquared > circle.radius * circle.radius && + !circleCenterInsidePoly + ) return null; var mtv; if (circleCenterInsidePoly) { mtv = Vector2.multiply( - result.normal, - new Vector2(Math.sqrt(distanceSquared) - circle.radius)); + result.normal, + new Vector2(Math.sqrt(distanceSquared) - circle.radius) + ); } else { if (distanceSquared == 0) { mtv = Vector2.multiply(result.normal, new Vector2(circle.radius)); } else { var distance = Math.sqrt(distanceSquared); mtv = Vector2.multiply( - new Vector2(-Vector2.subtract(poly2Circle, closestPoint)), - new Vector2((circle.radius - distanceSquared) / distance)); + new Vector2(-Vector2.subtract(poly2Circle, closestPoint)), + new Vector2((circle.radius - distanceSquared) / distance) + ); } } result.minimumTranslationVector = mtv; result.point = Vector2.add(closestPoint, polygon.position); return result; }; - ShapeCollisions.circleToBox = function(circle, box) { + ShapeCollisions.circleToBox = function (circle, box) { var result = new CollisionResult(); - var closestPointOnBounds = - box.bounds.getClosestPointOnRectangleBorderToPoint(circle.position).res; + var closestPointOnBounds = box.bounds.getClosestPointOnRectangleBorderToPoint( + circle.position + ).res; if (box.containsPoint(circle.position)) { result.point = closestPointOnBounds; var safePlace = Vector2.add( - closestPointOnBounds, - Vector2.subtract(result.normal, new Vector2(circle.radius))); - result.minimumTranslationVector = - Vector2.subtract(circle.position, safePlace); + closestPointOnBounds, + Vector2.subtract(result.normal, new Vector2(circle.radius)) + ); + result.minimumTranslationVector = Vector2.subtract( + circle.position, + safePlace + ); return result; } - var sqrDistance = - Vector2.distanceSquared(closestPointOnBounds, circle.position); + var sqrDistance = Vector2.distanceSquared( + closestPointOnBounds, + circle.position + ); if (sqrDistance == 0) { - result.minimumTranslationVector = - Vector2.multiply(result.normal, new Vector2(circle.radius)); + result.minimumTranslationVector = Vector2.multiply( + result.normal, + new Vector2(circle.radius) + ); } else if (sqrDistance <= circle.radius * circle.radius) { result.normal = Vector2.subtract(circle.position, closestPointOnBounds); var depth = result.normal.length() - circle.radius; result.normal = Vector2Ext.normalize(result.normal); - result.minimumTranslationVector = - Vector2.multiply(new Vector2(depth), result.normal); + result.minimumTranslationVector = Vector2.multiply( + new Vector2(depth), + result.normal + ); return result; } return null; }; - ShapeCollisions.pointToCircle = function(point, circle) { + ShapeCollisions.pointToCircle = function (point, circle) { var result = new CollisionResult(); var distanceSquared = Vector2.distanceSquared(point, circle.position); var sumOfRadii = 1 + circle.radius; var collided = distanceSquared < sumOfRadii * sumOfRadii; if (collided) { - result.normal = - Vector2.normalize(Vector2.subtract(point, circle.position)); + result.normal = Vector2.normalize( + Vector2.subtract(point, circle.position) + ); var depth = sumOfRadii - Math.sqrt(distanceSquared); - result.minimumTranslationVector = - Vector2.multiply(new Vector2(-depth, -depth), result.normal); + result.minimumTranslationVector = Vector2.multiply( + new Vector2(-depth, -depth), + result.normal + ); result.point = Vector2.add( - circle.position, - Vector2.multiply(result.normal, - new Vector2(circle.radius, circle.radius))); + circle.position, + Vector2.multiply( + result.normal, + new Vector2(circle.radius, circle.radius) + ) + ); return result; } return null; }; - ShapeCollisions.closestPointOnLine = function(lineA, lineB, closestTo) { + ShapeCollisions.closestPointOnLine = function (lineA, lineB, closestTo) { var v = Vector2.subtract(lineB, lineA); var w = Vector2.subtract(closestTo, lineA); var t = Vector2.dot(w, v) / Vector2.dot(v, v); t = MathHelper.clamp(t, 0, 1); return Vector2.add(lineA, Vector2.multiply(v, new Vector2(t, t))); }; - ShapeCollisions.pointToPoly = function(point, poly) { + ShapeCollisions.pointToPoly = function (point, poly) { var result = new CollisionResult(); if (poly.containsPoint(point)) { var distanceSquared = void 0; var gpp = Polygon.getClosestPointOnPolygonToPoint( - poly.points, Vector2.subtract(point, poly.position)); + poly.points, + Vector2.subtract(point, poly.position) + ); var closestPoint = gpp.closestPoint; distanceSquared = gpp.distanceSquared; result.normal = gpp.edgeNormal; result.minimumTranslationVector = Vector2.multiply( - result.normal, - new Vector2(Math.sqrt(distanceSquared), Math.sqrt(distanceSquared))); + result.normal, + new Vector2(Math.sqrt(distanceSquared), Math.sqrt(distanceSquared)) + ); result.point = Vector2.add(closestPoint, poly.position); return result; } return null; }; - ShapeCollisions.circleToCircle = function(first, second) { + ShapeCollisions.circleToCircle = function (first, second) { var result = new CollisionResult(); - var distanceSquared = - Vector2.distanceSquared(first.position, second.position); + var distanceSquared = Vector2.distanceSquared( + first.position, + second.position + ); var sumOfRadii = first.radius + second.radius; var collided = distanceSquared < sumOfRadii * sumOfRadii; if (collided) { - result.normal = - Vector2.normalize(Vector2.subtract(first.position, second.position)); + result.normal = Vector2.normalize( + Vector2.subtract(first.position, second.position) + ); var depth = sumOfRadii - Math.sqrt(distanceSquared); - result.minimumTranslationVector = - Vector2.multiply(new Vector2(-depth), result.normal); + result.minimumTranslationVector = Vector2.multiply( + new Vector2(-depth), + result.normal + ); result.point = Vector2.add( - second.position, - Vector2.multiply(result.normal, new Vector2(second.radius))); + second.position, + Vector2.multiply(result.normal, new Vector2(second.radius)) + ); return result; } return null; }; return ShapeCollisions; -}()); -var SpatialHash = (function() { +})(); +var SpatialHash = (function () { function SpatialHash(cellSize) { if (cellSize === void 0) { cellSize = 100; @@ -4652,7 +5217,7 @@ var SpatialHash = (function() { this._inverseCellSize = 1 / this._cellSize; this._raycastParser = new RaycastResultParser(); } - SpatialHash.prototype.remove = function(collider) { + SpatialHash.prototype.remove = function (collider) { var bounds = collider.registeredPhysicsBounds; var p1 = this.cellCoords(bounds.x, bounds.y); var p2 = this.cellCoords(bounds.right, bounds.bottom); @@ -4660,14 +5225,16 @@ var SpatialHash = (function() { for (var y = p1.y; y <= p2.y; y++) { var cell = this.cellAtPosition(x, y); if (!cell) - console.error("removing Collider [" + collider + - "] from a cell that it is not present in"); - else - cell.remove(collider); + console.error( + "removing Collider [" + + collider + + "] from a cell that it is not present in" + ); + else cell.remove(collider); } } }; - SpatialHash.prototype.register = function(collider) { + SpatialHash.prototype.register = function (collider) { var bounds = collider.bounds; collider.registeredPhysicsBounds = bounds; var p1 = this.cellCoords(bounds.x, bounds.y); @@ -4685,11 +5252,21 @@ var SpatialHash = (function() { } } }; - SpatialHash.prototype.clear = function() { this._cellDict.clear(); }; - SpatialHash.prototype.overlapCircle = function(circleCenter, radius, results, - layerMask) { - var bounds = new Rectangle(circleCenter.x - radius, circleCenter.y - radius, - radius * 2, radius * 2); + SpatialHash.prototype.clear = function () { + this._cellDict.clear(); + }; + SpatialHash.prototype.overlapCircle = function ( + circleCenter, + radius, + results, + layerMask + ) { + var bounds = new Rectangle( + circleCenter.x - radius, + circleCenter.y - radius, + radius * 2, + radius * 2 + ); this._overlapTestCircle.radius = radius; this._overlapTestCircle.position = circleCenter; var resultCounter = 0; @@ -4701,27 +5278,31 @@ var SpatialHash = (function() { resultCounter++; } else { throw new Error( - "overlapCircle against this collider type is not implemented!"); + "overlapCircle against this collider type is not implemented!" + ); } - if (resultCounter == results.length) - return resultCounter; + if (resultCounter == results.length) return resultCounter; } return resultCounter; }; - SpatialHash.prototype.aabbBroadphase = function(bounds, excludeCollider, - layerMask) { + SpatialHash.prototype.aabbBroadphase = function ( + bounds, + excludeCollider, + layerMask + ) { this._tempHashSet.length = 0; var p1 = this.cellCoords(bounds.x, bounds.y); var p2 = this.cellCoords(bounds.right, bounds.bottom); for (var x = p1.x; x <= p2.x; x++) { for (var y = p1.y; y <= p2.y; y++) { var cell = this.cellAtPosition(x, y); - if (!cell) - continue; + if (!cell) continue; for (var i = 0; i < cell.length; i++) { var collider = cell[i]; - if (collider == excludeCollider || - !Flags.isFlagSet(layerMask, collider.physicsLayer)) + if ( + collider == excludeCollider || + !Flags.isFlagSet(layerMask, collider.physicsLayer) + ) continue; if (bounds.intersects(collider.bounds)) { if (this._tempHashSet.indexOf(collider) == -1) @@ -4732,7 +5313,7 @@ var SpatialHash = (function() { } return this._tempHashSet; }; - SpatialHash.prototype.cellAtPosition = function(x, y, createCellIfEmpty) { + SpatialHash.prototype.cellAtPosition = function (x, y, createCellIfEmpty) { if (createCellIfEmpty === void 0) { createCellIfEmpty = false; } @@ -4745,48 +5326,55 @@ var SpatialHash = (function() { } return cell; }; - SpatialHash.prototype.cellCoords = function(x, y) { - return new Point(Math.floor(x * this._inverseCellSize), - Math.floor(y * this._inverseCellSize)); + SpatialHash.prototype.cellCoords = function (x, y) { + return new Point( + Math.floor(x * this._inverseCellSize), + Math.floor(y * this._inverseCellSize) + ); }; return SpatialHash; -}()); -var RaycastResultParser = (function() { +})(); +var RaycastResultParser = (function () { function RaycastResultParser() {} return RaycastResultParser; -}()); -var NumberDictionary = (function() { - function NumberDictionary() { this._store = new Map(); } - NumberDictionary.prototype.getKey = function(x, y) { +})(); +var NumberDictionary = (function () { + function NumberDictionary() { + this._store = new Map(); + } + NumberDictionary.prototype.getKey = function (x, y) { return Long.fromNumber(x).shiftLeft(32).or(this.intToUint(y)).toString(); }; - NumberDictionary.prototype.intToUint = function(i) { - if (i >= 0) - return i; - else - return 4294967296 + i; + NumberDictionary.prototype.intToUint = function (i) { + if (i >= 0) return i; + else return 4294967296 + i; }; - NumberDictionary.prototype.add = function( - x, y, list) { this._store.set(this.getKey(x, y), list); }; - NumberDictionary.prototype.remove = function(obj) { - this._store.forEach(function(list) { - if (list.contains(obj)) - list.remove(obj); + NumberDictionary.prototype.add = function (x, y, list) { + this._store.set(this.getKey(x, y), list); + }; + NumberDictionary.prototype.remove = function (obj) { + this._store.forEach(function (list) { + if (list.contains(obj)) list.remove(obj); }); }; - NumberDictionary.prototype.tryGetValue = function( - x, y) { return this._store.get(this.getKey(x, y)); }; - NumberDictionary.prototype.clear = function() { this._store.clear(); }; + NumberDictionary.prototype.tryGetValue = function (x, y) { + return this._store.get(this.getKey(x, y)); + }; + NumberDictionary.prototype.clear = function () { + this._store.clear(); + }; return NumberDictionary; -}()); -var ContentManager = (function() { - function ContentManager() { this.loadedAssets = new Map(); } - ContentManager.prototype.loadRes = function(name, local) { +})(); +var ContentManager = (function () { + function ContentManager() { + this.loadedAssets = new Map(); + } + ContentManager.prototype.loadRes = function (name, local) { var _this = this; if (local === void 0) { local = true; } - return new Promise(function(resolve, reject) { + return new Promise(function (resolve, reject) { var res = _this.loadedAssets.get(name); if (res) { resolve(res); @@ -4794,69 +5382,73 @@ var ContentManager = (function() { } if (local) { RES.getResAsync(name) - .then(function(data) { - _this.loadedAssets.set(name, data); - resolve(data); - }) - .catch(function(err) { - console.error("资源加载错误:", name, err); - reject(err); - }); + .then(function (data) { + _this.loadedAssets.set(name, data); + resolve(data); + }) + .catch(function (err) { + console.error("资源加载错误:", name, err); + reject(err); + }); } else { RES.getResByUrl(name) - .then(function(data) { - _this.loadedAssets.set(name, data); - resolve(data); - }) - .catch(function(err) { - console.error("资源加载错误:", name, err); - reject(err); - }); + .then(function (data) { + _this.loadedAssets.set(name, data); + resolve(data); + }) + .catch(function (err) { + console.error("资源加载错误:", name, err); + reject(err); + }); } }); }; - ContentManager.prototype.dispose = function() { - this.loadedAssets.forEach(function(value) { + ContentManager.prototype.dispose = function () { + this.loadedAssets.forEach(function (value) { var assetsToRemove = value; assetsToRemove.dispose(); }); this.loadedAssets.clear(); }; return ContentManager; -}()); -var Emitter = (function() { - function Emitter() { this._messageTable = new Map(); } - Emitter.prototype.addObserver = function(eventType, handler) { +})(); +var Emitter = (function () { + function Emitter() { + this._messageTable = new Map(); + } + Emitter.prototype.addObserver = function (eventType, handler) { var list = this._messageTable.get(eventType); if (!list) { list = []; this._messageTable.set(eventType, list); } - if (list.contains(handler)) - console.warn("您试图添加相同的观察者两次"); + if (list.contains(handler)) console.warn("您试图添加相同的观察者两次"); list.push(handler); }; - Emitter.prototype.removeObserver = function( - eventType, - handler) { this._messageTable.get(eventType).remove(handler); }; - Emitter.prototype.emit = function(eventType, data) { + Emitter.prototype.removeObserver = function (eventType, handler) { + this._messageTable.get(eventType).remove(handler); + }; + Emitter.prototype.emit = function (eventType, data) { var list = this._messageTable.get(eventType); if (list) { - for (var i = list.length - 1; i >= 0; i--) - list[i](data); + for (var i = list.length - 1; i >= 0; i--) list[i](data); } }; return Emitter; -}()); -var GlobalManager = (function() { +})(); +var GlobalManager = (function () { function GlobalManager() {} Object.defineProperty(GlobalManager.prototype, "enabled", { - get : function() { return this._enabled; }, - set : function(value) { this.setEnabled(value); }, - enumerable : true, - configurable : true + get: function () { + return this._enabled; + }, + set: function (value) { + this.setEnabled(value); + }, + enumerable: true, + configurable: true, }); - GlobalManager.prototype.setEnabled = function(isEnabled) { + GlobalManager.prototype.setEnabled = function (isEnabled) { if (this._enabled != isEnabled) { this._enabled = isEnabled; if (this._enabled) { @@ -4866,28 +5458,27 @@ var GlobalManager = (function() { } } }; - GlobalManager.prototype.onEnabled = function() {}; - GlobalManager.prototype.onDisabled = function() {}; - GlobalManager.prototype.update = function() {}; - GlobalManager.registerGlobalManager = function(manager) { + GlobalManager.prototype.onEnabled = function () {}; + GlobalManager.prototype.onDisabled = function () {}; + GlobalManager.prototype.update = function () {}; + GlobalManager.registerGlobalManager = function (manager) { this.globalManagers.push(manager); manager.enabled = true; }; - GlobalManager.unregisterGlobalManager = function(manager) { + GlobalManager.unregisterGlobalManager = function (manager) { this.globalManagers.remove(manager); manager.enabled = false; }; - GlobalManager.getGlobalManager = function(type) { + GlobalManager.getGlobalManager = function (type) { for (var i = 0; i < this.globalManagers.length; i++) { - if (this.globalManagers[i] instanceof type) - return this.globalManagers[i]; + if (this.globalManagers[i] instanceof type) return this.globalManagers[i]; } return null; }; GlobalManager.globalManagers = []; return GlobalManager; -}()); -var TouchState = (function() { +})(); +var TouchState = (function () { function TouchState() { this.x = 0; this.y = 0; @@ -4895,83 +5486,108 @@ var TouchState = (function() { this.touchDown = false; } Object.defineProperty(TouchState.prototype, "position", { - get : function() { return new Vector2(this.x, this.y); }, - enumerable : true, - configurable : true + get: function () { + return new Vector2(this.x, this.y); + }, + enumerable: true, + configurable: true, }); - TouchState.prototype.reset = function() { + TouchState.prototype.reset = function () { this.x = 0; this.y = 0; this.touchDown = false; this.touchPoint = -1; }; return TouchState; -}()); -var Input = (function() { +})(); +var Input = (function () { function Input() {} Object.defineProperty(Input, "touchPosition", { - get : function() { - if (!this._gameTouchs[0]) - return Vector2.zero; + get: function () { + if (!this._gameTouchs[0]) return Vector2.zero; return this._gameTouchs[0].position; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Input, "maxSupportedTouch", { - get : function() { return this._stage.maxTouches; }, - set : function(value) { + get: function () { + return this._stage.maxTouches; + }, + set: function (value) { this._stage.maxTouches = value; this.initTouchCache(); }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Input, "resolutionScale", { - get : function() { return this._resolutionScale; }, - enumerable : true, - configurable : true + get: function () { + return this._resolutionScale; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Input, "totalTouchCount", { - get : function() { return this._totalTouchCount; }, - enumerable : true, - configurable : true + get: function () { + return this._totalTouchCount; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Input, "gameTouchs", { - get : function() { return this._gameTouchs; }, - enumerable : true, - configurable : true + get: function () { + return this._gameTouchs; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Input, "touchPositionDelta", { - get : function() { - var delta = Vector2.subtract(this.touchPosition, - this._previousTouchState.position); + get: function () { + var delta = Vector2.subtract( + this.touchPosition, + this._previousTouchState.position + ); if (delta.length() > 0) { this.setpreviousTouchState(this._gameTouchs[0]); } return delta; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); - Input.initialize = function(stage) { - if (this._init) - return; + Input.initialize = function (stage) { + if (this._init) return; this._init = true; this._stage = stage; - 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._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(); }; - Input.initTouchCache = function() { + Input.initTouchCache = function () { this._totalTouchCount = 0; this._touchIndex = 0; this._gameTouchs.length = 0; @@ -4979,7 +5595,7 @@ var Input = (function() { this._gameTouchs.push(new TouchState()); } }; - Input.touchBegin = function(evt) { + Input.touchBegin = function (evt) { if (this._touchIndex < this.maxSupportedTouch) { this._gameTouchs[this._touchIndex].touchPoint = evt.touchPointID; this._gameTouchs[this._touchIndex].touchDown = evt.touchDown; @@ -4992,42 +5608,45 @@ var Input = (function() { this._totalTouchCount++; } }; - Input.touchMove = function(evt) { + Input.touchMove = function (evt) { if (evt.touchPointID == this._gameTouchs[0].touchPoint) { this.setpreviousTouchState(this._gameTouchs[0]); } - var touchIndex = this._gameTouchs.findIndex(function( - touch) { return touch.touchPoint == evt.touchPointID; }); + var touchIndex = this._gameTouchs.findIndex(function (touch) { + return touch.touchPoint == evt.touchPointID; + }); if (touchIndex != -1) { var touchData = this._gameTouchs[touchIndex]; touchData.x = evt.stageX; touchData.y = evt.stageY; } }; - Input.touchEnd = function(evt) { - var touchIndex = this._gameTouchs.findIndex(function( - touch) { return touch.touchPoint == evt.touchPointID; }); + Input.touchEnd = function (evt) { + var touchIndex = this._gameTouchs.findIndex(function (touch) { + return touch.touchPoint == evt.touchPointID; + }); if (touchIndex != -1) { var touchData = this._gameTouchs[touchIndex]; touchData.reset(); - if (touchIndex == 0) - this._previousTouchState.reset(); + if (touchIndex == 0) this._previousTouchState.reset(); this._totalTouchCount--; if (this.totalTouchCount == 0) { this._touchIndex = 0; } } }; - Input.setpreviousTouchState = function(touchState) { + Input.setpreviousTouchState = function (touchState) { this._previousTouchState = new TouchState(); this._previousTouchState.x = touchState.position.x; this._previousTouchState.y = touchState.position.y; this._previousTouchState.touchPoint = touchState.touchPoint; this._previousTouchState.touchDown = touchState.touchDown; }; - Input.scaledPosition = function(position) { - var scaledPos = new Vector2(position.x - this._resolutionOffset.x, - position.y - this._resolutionOffset.y); + Input.scaledPosition = function (position) { + var scaledPos = new Vector2( + position.x - this._resolutionOffset.x, + position.y - this._resolutionOffset.y + ); return Vector2.multiply(scaledPos, this.resolutionScale); }; Input._init = false; @@ -5038,10 +5657,10 @@ var Input = (function() { Input._touchIndex = 0; Input._totalTouchCount = 0; return Input; -}()); -var ListPool = (function() { +})(); +var ListPool = (function () { function ListPool() {} - ListPool.warmCache = function(cacheCount) { + ListPool.warmCache = function (cacheCount) { cacheCount -= this._objectQueue.length; if (cacheCount > 0) { for (var i = 0; i < cacheCount; i++) { @@ -5049,41 +5668,43 @@ var ListPool = (function() { } } }; - ListPool.trimCache = function(cacheCount) { - while (cacheCount > this._objectQueue.length) - this._objectQueue.shift(); + ListPool.trimCache = function (cacheCount) { + while (cacheCount > this._objectQueue.length) this._objectQueue.shift(); }; - ListPool.clearCache = function() { this._objectQueue.length = 0; }; - ListPool.obtain = function() { - if (this._objectQueue.length > 0) - return this._objectQueue.shift(); + ListPool.clearCache = function () { + this._objectQueue.length = 0; + }; + ListPool.obtain = function () { + if (this._objectQueue.length > 0) return this._objectQueue.shift(); return []; }; - ListPool.free = function(obj) { + ListPool.free = function (obj) { this._objectQueue.unshift(obj); obj.length = 0; }; ListPool._objectQueue = []; return ListPool; -}()); -var Pair = (function() { +})(); +var Pair = (function () { function Pair(first, second) { this.first = first; this.second = second; } - Pair.prototype.clear = function() { this.first = this.second = null; }; - Pair.prototype.equals = function(other) { + Pair.prototype.clear = function () { + this.first = this.second = null; + }; + Pair.prototype.equals = function (other) { return this.first == other.first && this.second == other.second; }; return Pair; -}()); -var RectangleExt = (function() { +})(); +var RectangleExt = (function () { function RectangleExt() {} - RectangleExt.union = function(first, point) { + RectangleExt.union = function (first, point) { var rect = new Rectangle(point.x, point.y, 0, 0); return this.unionR(first, rect); }; - RectangleExt.unionR = function(value1, value2) { + RectangleExt.unionR = function (value1, value2) { var result = new Rectangle(); result.x = Math.min(value1.x, value2.x); result.y = Math.min(value1.y, value2.y); @@ -5092,14 +5713,14 @@ var RectangleExt = (function() { return result; }; return RectangleExt; -}()); -var Triangulator = (function() { +})(); +var Triangulator = (function () { function Triangulator() { this.triangleIndices = []; this._triPrev = new Array(12); this._triNext = new Array(12); } - Triangulator.prototype.triangulate = function(points, arePointsCCW) { + Triangulator.prototype.triangulate = function (points, arePointsCCW) { if (arePointsCCW === void 0) { arePointsCCW = true; } @@ -5140,10 +5761,9 @@ var Triangulator = (function() { this.triangleIndices.push(this._triPrev[index]); this.triangleIndices.push(index); this.triangleIndices.push(this._triNext[index]); - if (!arePointsCCW) - this.triangleIndices.reverse(); + if (!arePointsCCW) this.triangleIndices.reverse(); }; - Triangulator.prototype.initialize = function(count) { + Triangulator.prototype.initialize = function (count) { this.triangleIndices.length = 0; if (this._triNext.length < count) { this._triNext.reverse(); @@ -5160,32 +5780,38 @@ var Triangulator = (function() { this._triPrev[0] = count - 1; this._triNext[count - 1] = 0; }; - Triangulator.testPointTriangle = function(point, a, b, c) { - if (Vector2Ext.cross(Vector2.subtract(point, a), Vector2.subtract(b, a)) < - 0) + Triangulator.testPointTriangle = function (point, a, b, c) { + if ( + Vector2Ext.cross(Vector2.subtract(point, a), Vector2.subtract(b, a)) < 0 + ) return false; - if (Vector2Ext.cross(Vector2.subtract(point, b), Vector2.subtract(c, b)) < - 0) + if ( + Vector2Ext.cross(Vector2.subtract(point, b), Vector2.subtract(c, b)) < 0 + ) return false; - if (Vector2Ext.cross(Vector2.subtract(point, c), Vector2.subtract(a, c)) < - 0) + if ( + Vector2Ext.cross(Vector2.subtract(point, c), Vector2.subtract(a, c)) < 0 + ) return false; return true; }; return Triangulator; -}()); -var Vector2Ext = (function() { +})(); +var Vector2Ext = (function () { function Vector2Ext() {} - Vector2Ext.isTriangleCCW = function(a, center, c) { - return this.cross(Vector2.subtract(center, a), - Vector2.subtract(c, center)) < 0; + Vector2Ext.isTriangleCCW = function (a, center, c) { + return ( + this.cross(Vector2.subtract(center, a), Vector2.subtract(c, center)) < 0 + ); }; - Vector2Ext.cross = function(u, v) { return u.y * v.x - u.x * v.y; }; - Vector2Ext.perpendicular = function(first, second) { + Vector2Ext.cross = function (u, v) { + return u.y * v.x - u.x * v.y; + }; + Vector2Ext.perpendicular = function (first, second) { return new Vector2(-1 * (second.y - first.y), second.x - first.x); }; - Vector2Ext.normalize = function(vec) { - var magnitude = Math.sqrt((vec.x * vec.x) + (vec.y * vec.y)); + Vector2Ext.normalize = function (vec) { + var magnitude = Math.sqrt(vec.x * vec.x + vec.y * vec.y); if (magnitude > MathHelper.Epsilon) { vec = Vector2.divide(vec, new Vector2(magnitude)); } else { @@ -5193,28 +5819,41 @@ var Vector2Ext = (function() { } return vec; }; - Vector2Ext.transformA = function(sourceArray, sourceIndex, matrix, - destinationArray, destinationIndex, length) { + Vector2Ext.transformA = function ( + sourceArray, + sourceIndex, + matrix, + destinationArray, + destinationIndex, + length + ) { for (var i = 0; i < length; i++) { var position = sourceArray[sourceIndex + i]; var destination = destinationArray[destinationIndex + i]; destination.x = - (position.x * matrix.m11) + (position.y * matrix.m21) + matrix.m31; + position.x * matrix.m11 + position.y * matrix.m21 + matrix.m31; destination.y = - (position.x * matrix.m12) + (position.y * matrix.m22) + matrix.m32; + position.x * matrix.m12 + position.y * matrix.m22 + matrix.m32; destinationArray[destinationIndex + i] = destination; } }; - Vector2Ext.transformR = function(position, matrix) { - var x = (position.x * matrix.m11) + (position.y * matrix.m21) + matrix.m31; - var y = (position.x * matrix.m12) + (position.y * matrix.m22) + matrix.m32; + Vector2Ext.transformR = function (position, matrix) { + var x = position.x * matrix.m11 + position.y * matrix.m21 + matrix.m31; + var y = position.x * matrix.m12 + position.y * matrix.m22 + matrix.m32; return new Vector2(x, y); }; - Vector2Ext.transform = function(sourceArray, matrix, destinationArray) { - this.transformA(sourceArray, 0, matrix, destinationArray, 0, - sourceArray.length); + Vector2Ext.transform = function (sourceArray, matrix, destinationArray) { + this.transformA( + sourceArray, + 0, + matrix, + destinationArray, + 0, + sourceArray.length + ); + }; + Vector2Ext.round = function (vec) { + return new Vector2(Math.round(vec.x), Math.round(vec.y)); }; - Vector2Ext.round = function( - vec) { return new Vector2(Math.round(vec.x), Math.round(vec.y)); }; return Vector2Ext; -}()); +})(); diff --git a/demo/libs/framework/framework.min.js b/demo/libs/framework/framework.min.js index d6233172..48790482 100644 --- a/demo/libs/framework/framework.min.js +++ b/demo/libs/framework/framework.min.js @@ -1,3477 +1,5250 @@ -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]) +(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())); }; - 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(o, r) { - function s(t) { - try { - h(i.next(t)) - } catch (t) { - r(t) - } - } - function a(t) { - try { - h(i.throw(t)) - } catch (t) { - r(t) - } - } - function h(t) { - t.done ? o(t.value) : new n(function(e) { e(t.value) }).then(s, a) - } - h((i = i.apply(t, e || [])).next()) - }) -}, __generator = this && this.__generator || function(t, e) { - var n, i, o, r, s = { - label : 0, - sent : function() { - if (1 & o[0]) - throw o[1]; - return o[1] - }, - trys : [], - ops : [] - }; - return r = {next : a(0), throw : a(1), return : a(2)}, - "function" == typeof Symbol && - (r[Symbol.iterator] = function() { return this }), - r; - function a(r) { - return function(a) { - return function(r) { - if (n) - throw new TypeError("Generator is already executing."); - for (; s;) + })()); +var __awaiter = + (this && this.__awaiter) || + function (t, e, n, i) { + return new (n || (n = Promise))(function (o, r) { + function s(t) { try { - if (n = 1, - i && - (o = 2 & r[0] ? i.return : r[0] ? i.throw || ((o = i.return ) && o.call(i), 0) : i.next) && - !(o = o.call(i, r[1])).done) - return o; - switch (i = 0, o && (r = [ 2 & r[0], o.value ]), r[0]) { - case 0: - case 1: - o = r; - break; - case 4: - return s.label++, {value : r[1], done : !1}; - case 5: - s.label++, i = r[1], r = [ 0 ]; - continue; - case 7: - r = s.ops.pop(), s.trys.pop(); - continue; - default: - if (!(o = (o = s.trys).length > 0 && o[o.length - 1]) && - (6 === r[0] || 2 === r[0])) { - s = 0; - continue - } - if (3 === r[0] && (!o || r[1] > o[0] && r[1] < o[3])) { - s.label = r[1]; - break - } - if (6 === r[0] && s.label < o[1]) { - s.label = o[1], o = r; - break - } - if (o && s.label < o[2]) { - s.label = o[2], s.ops.push(r); - break - } - o[2] && s.ops.pop(), s.trys.pop(); - continue - } - r = e.call(t, s) + h(i.next(t)); } catch (t) { - r = [ 6, t ], i = 0 - } finally { - n = o = 0 + r(t); } - if (5 & r[0]) - throw r[1]; - return { value: r[0] ? r[1] : void 0, done: !0 } - }([ r, 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, o) { - return e.call(arguments[2], i, o, t) && n.push(i), n - }, []); - for (var n = [], i = 0, o = t.length; i < o; i++) { - var r = t[i]; - e.call(arguments[2], r, i, t) && n.push(r) } - 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, o) { - return n.push(e.call(arguments[2], i, o, t)), n - }, []); - for (var n = [], i = 0, o = t.length; i < o; 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 o = e(t), r = e(i); - return n ? n(o, r) : o > r ? 1 : -1 - }), - t - }(this, t, e) - }, Array.prototype.orderByDescending = function(t, e) { - return function(t, e, n) { - return t.sort(function(t, i) { - var o = e(t), r = e(i); - return n ? -n(o, r) : o < r ? 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, o, r) { - var s = JSON.stringify(e.call(arguments[1], o, r, t)), - a = n.findIndex(function(t) { return t === s }); - return a < 0 && (a = n.push(s) - 1), i[a] || (i[a] = []), - i[a].push(o), i - }, []) + function a(t) { + try { + h(i.throw(t)); + } catch (t) { + r(t); + } } - for (var i = [], o = [], r = function(n, r) { - var a = JSON.stringify(e.call(s[1], t[n], n, t)), - h = o.findIndex(function(t) { return t === a }); - h < 0 && (h = o.push(a) - 1), i[h] || (i[h] = []), - i[h].push(t[n]) - }, s = arguments, a = 0, h = t.length; a < h; a++) - r(a); - return i - }(this, t) - }, Array.prototype.sum = function(t) { - return function(t, e) { - for (var n, i = 0, o = t.length; i < o; 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) + function h(t) { + t.done + ? o(t.value) + : new n(function (e) { + e(t.value); + }).then(s, a); + } + h((i = i.apply(t, e || [])).next()); + }); + }, + __generator = + (this && this.__generator) || + function (t, e) { + var n, + i, + o, + r, + s = { + label: 0, + sent: function () { + if (1 & o[0]) throw o[1]; + return o[1]; + }, + trys: [], + ops: [], + }; + return ( + (r = { next: a(0), throw: a(1), return: a(2) }), + "function" == typeof Symbol && + (r[Symbol.iterator] = function () { + return this; + }), + r + ); + function a(r) { + return function (a) { + return (function (r) { + if (n) throw new TypeError("Generator is already executing."); + for (; s; ) + try { + if ( + ((n = 1), + i && + (o = + 2 & r[0] + ? i.return + : r[0] + ? i.throw || ((o = i.return) && o.call(i), 0) + : i.next) && + !(o = o.call(i, r[1])).done) + ) + return o; + switch (((i = 0), o && (r = [2 & r[0], o.value]), r[0])) { + case 0: + case 1: + o = r; + break; + case 4: + return s.label++, { value: r[1], done: !1 }; + case 5: + s.label++, (i = r[1]), (r = [0]); + continue; + case 7: + (r = s.ops.pop()), s.trys.pop(); + continue; + default: + if ( + !(o = (o = s.trys).length > 0 && o[o.length - 1]) && + (6 === r[0] || 2 === r[0]) + ) { + s = 0; + continue; + } + if (3 === r[0] && (!o || (r[1] > o[0] && r[1] < o[3]))) { + s.label = r[1]; + break; + } + if (6 === r[0] && s.label < o[1]) { + (s.label = o[1]), (o = r); + break; + } + if (o && s.label < o[2]) { + (s.label = o[2]), s.ops.push(r); + break; + } + o[2] && s.ops.pop(), s.trys.pop(); + continue; + } + r = e.call(t, s); + } catch (t) { + (r = [6, t]), (i = 0); + } finally { + n = o = 0; + } + if (5 & r[0]) throw r[1]; + return { value: r[0] ? r[1] : void 0, done: !0 }; + })([r, a]); + }; + } }; -var DirtyType, ComponentTransform, 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, o = !1, r = new Map; - r.set(e, e); - var s = new Map, a = new PriorityQueue(1e3); - a.enqueue(new AStarNode(e), 0), s.set(e, 0); - for (var h = function() { - var e = a.dequeue(); - if (JSON.stringify(e.data) == JSON.stringify(n)) - return o = !0, "break"; - t.getNeighbors(e.data).forEach(function(o) { - var h = s.get(e.data) + t.cost(e.data, o); - if (!i.hasKey(s, o) || h < s.get(o)) { - s.set(o, h); - var c = h + t.heuristic(o, n); - a.enqueue(new AStarNode(o), c), r.set(o, e.data) - } - }) - }; a.count > 0;) { - if ("break" === h()) - break - } - return o ? this.recontructPath(r, 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, o = t.keys(), r = t.values(); - n = o.next(), i = r.next(), !n.done;) - if (JSON.stringify(n.value) == JSON.stringify(e)) - return i.value; - return null - }, t.recontructPath = function(t, e, n) { - var i = [], o = n; - for (i.push(n); o != e;) - o = this.getKey(t, o), i.push(o); - 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 Point(1, 0), new Point(0, -1), new Point(-1, 0), new Point(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 Point(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 - }), - t.prototype.contains = function( - t) { return this._nodes[t.queueIndex] == t }, - 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 o = this._nodes[i]; - this.hasHigherPriority(o, e) && (e = o); - var r = i + 1; - if (r <= this._numNodes) { - var s = this._nodes[r]; - 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, o = !1, r = []; - r.unshift(e); - var s = new Map; - s.set(e, e); - for (var a = function() { - var e = r.shift(); - if (JSON.stringify(e) == JSON.stringify(n)) - return o = !0, "break"; - t.getNeighbors(e).forEach(function( - t) { i.hasKey(s, t) || (r.unshift(t), s.set(t, e)) }) - }; r.length > 0;) { - if ("break" === a()) - break - } - return o ? 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 -}(), Point = function() { - return function(t, e) { this.x = t || 0, this.y = e || this.x } -}(), 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 Point(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 Point(1, 0), new Point(0, -1), new Point(-1, 0), - new Point(0, -1) - ], - t.COMPASS_DIRS = - [ - new Point(1, 0), new Point(1, -1), new Point(0, -1), - new Point(-1, -1), new Point(-1, 0), new Point(-1, 1), - new Point(0, 1), new Point(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 Point(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 Point(1, 0), new Point(0, -1), new Point(-1, 0), - new Point(0, 1) - ], - t.COMPASS_DIRS = - [ - new Point(1, 0), new Point(1, -1), new Point(0, -1), - new Point(-1, -1), new Point(-1, 0), new Point(-1, 1), - new Point(0, 1), new Point(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, o = !1, r = new Map; - r.set(e, e); - var s = new Map, a = new PriorityQueue(1e3); - a.enqueue(new WeightedNode(e), 0), s.set(e, 0); - for (var h = function() { - var e = a.dequeue(); - if (JSON.stringify(e.data) == JSON.stringify(n)) - return o = !0, "break"; - t.getNeighbors(e.data).forEach(function(n) { - var o = s.get(e.data) + t.cost(e.data, n); - if (!i.hasKey(s, n) || o < s.get(n)) { - s.set(n, o); - var h = o; - a.enqueue(new WeightedNode(n), h), r.set(n, e.data) - } - }) - }; a.count > 0;) { - if ("break" === h()) - break - } - return o ? this.recontructPath(r, 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, o = t.keys(), r = t.values(); - n = o.next(), i = r.next(), !n.done;) - if (JSON.stringify(n.value) == JSON.stringify(e)) - return i.value; - return null - }, t.recontructPath = function(t, e, n) { - var i = [], o = n; - for (i.push(n); o != e;) - o = this.getKey(t, o), i.push(o); - return i.reverse(), i - }, t -}(), DebugDefaults = function() { - function t() {} - return t.verletParticle = 14431326, t.verletConstraintEdge = 4406838, t -}(), Component = function(t) { - function e() { - var e = null !== t && t.apply(this, arguments) || this; - return e._enabled = !0, e.updateInterval = 1, 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 +(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); }), - e.prototype - .setEnabled = - function(t) { - return this._enabled != t && - (this._enabled = t, - this._enabled ? this.onEnabled() : this.onDisabled()), - this - }, - e.prototype.initialize = function() {}, - e.prototype.onAddedToEntity = function() {}, - e.prototype.onRemovedFromEntity = function() {}, - e.prototype.onEnabled = function() {}, e.prototype.onDisabled = function() {}, - e.prototype.onEntityTransformChanged = function(t) {}, - e.prototype.update = function() {}, e.prototype.debugRender = function() {}, - 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), Entity = function(t) { - function e(n) { - var i = t.call(this) || this; - return i._position = Vector2.zero, 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 - } - return __extends(e, t), Object.defineProperty(e.prototype, "isDestoryed", { - get : function() { return this._isDestoryed }, - enumerable : !0, - configurable : !0 + (Array.prototype.firstOrDefault = function (t) { + return (function (t, e) { + var n = t.findIndex(e); + return -1 == n ? null : t[n]; + })(this, t); }), - Object.defineProperty(e.prototype, "position", { - get : function() { return this._position }, - set : function(t) { this._position = t }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(e.prototype, "scale", { - get : function() { return new Vector2(this.scaleX, this.scaleY) }, - set : function(t) { this.scaleX = t.x, this.scaleY = t.y }, - 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 - }), - 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.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.onTransformChanged = function(t) { - this.components.onEntityTransformChanged(t) - }, e.prototype.destroy = function() { - this._isDestoryed = !0, this.scene.entities.remove(this), - this.removeChildren(); - for (var t = this.numChildren - 1; t >= 0; t--) { - this.getChildAt(t).entity.destroy() - } - }, e -}(egret.DisplayObjectContainer), 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() - }, 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.stage = e, - t.initialize(e) - } - return Object.defineProperty(t, "scene", { - get : function() { return this._scene }, - set : function(t) { - if (!t) - throw new Error("场景不能为空"); - null == this._scene ? (this._scene = t, this._scene.begin()) - : this._nextScene = t - }, - enumerable : !0, - configurable : !0 + (Array.prototype.find = function (t) { + return (function (t, e) { + return t.firstOrDefault(e); + })(this, t); }), - t.initialize = function(t) { Input.initialize(t) }, - t.update = function() { - if (Time.update(egret.getTimer()), t._scene) { - for (var e = GlobalManager.globalManagers.length - 1; e >= 0; e--) - GlobalManager.globalManagers[e].enabled && - GlobalManager.globalManagers[e].update(); - if (t.sceneTransition && - (!t.sceneTransition || - t.sceneTransition.loadsNewScene && - !t.sceneTransition.isNewSceneLoaded) || - t._scene.update(), - t._nextScene) { - t._scene.end(); - for (e = 0; e < t._scene.entities.buffer.length; e++) { - t._scene.entities.buffer[e].destroy() - } - t._scene = t._nextScene, t._nextScene = null, t._scene.begin() - } - } - 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(), this._scene.postRender()) - }, t.startSceneTransition = function(t) { - if (!this.sceneTransition) - return this.sceneTransition = t, t; - console.warn("在前一个场景完成之前,不能开始一个新的场景转换。") - }, t -}(); -!function(t) { - t[t.clean = 0] = "clean", t[t.positionDirty = 1] = "positionDirty", - t[t.scaleDirty = 2] = "scaleDirty", - t[t.rotationDirty = 3] = "rotationDirty" -}(DirtyType || (DirtyType = {})), - function(t) { - t[t.position = 0] = "position", t[t.scale = 1] = "scale", - t[t.rotation = 2] = "rotation" - }(ComponentTransform || (ComponentTransform = {})); -var CameraStyle, Transform = function() { - function t(t) { - this._localRotation = 0, this._worldTransform = Matrix2D.identity, - this._worldToLocalTransform = Matrix2D.identity, - this._worldInverseTransform = Matrix2D.identity, this._rotation = 0, - this.entity = t, this._scale = this._localScale = Vector2.one, - this._children = [] - } - return Object.defineProperty(t.prototype, "childCount", { - get : function() { return this._children.length }, - enumerable : !0, - configurable : !0 - }), - t.prototype - .getChild = function(t) { return this._children[t] }, - Object.defineProperty(t.prototype, "worldInverseTransform", { - get : function() { - return this.updateTransform(), - this._worldInverseDirty && - (this._worldInverseTransform = Matrix2D.invert( - this._worldTransform, this._worldInverseTransform), - this._worldInverseDirty = !1), - this._worldInverseTransform - }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "localToWorldTransform", { - get : function() { return this.updateTransform(), this._worldTransform }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "worldToLocalTransform", { - get : function() { - return this._worldToLocalDirty && - (this.parent ? (this.parent.updateTransform(), - this._worldToLocalTransform = Matrix2D.invert( - this.parent._worldTransform, - this._worldToLocalTransform)) - : this._worldInverseTransform = new Matrix2D, - this._worldToLocalDirty = !1), - this._worldToLocalTransform - }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "parent", { - get : function() { return this._parent }, - set : function(t) { this.setParent(t) }, - enumerable : !0, - configurable : !0 - }), - t.prototype.setParent = - function(t) { - return this._parent == t - ? this - : (this._parent && this._parent._children.remove(this), - t && t._children.push(this), this._parent = t, this) - }, - Object.defineProperty(t.prototype, "rotation", { - get : function() { return this.updateTransform(), this._rotation }, - set : function(t) { this.setRotation(t) }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "localRotation", { - get : function() { return this.updateTransform(), this._localRotation }, - set : function(t) { this.setLocalRotation(t) }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "position", { - get : function() { - return this.updateTransform(), - this._positionDirty && - (this.parent - ? (this.parent.updateTransform(), - this._position = Vector2Ext.transformR( - this._localPosition, this.parent._worldTransform)) - : this._position = this._localPosition, - this._positionDirty = !1), - this._position - }, - set : function(t) { this.setPosition(t) }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "localPosition", { - get : function() { return this.updateTransform(), this._localPosition }, - set : function(t) { this.setLocalPosition(t) }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "scale", { - get : function() { return this.updateTransform(), this._scale }, - set : function(t) { this.setScale(t) }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "localScale", { - get : function() { return this.updateTransform(), this._localScale }, - set : function(t) { this.setLocalScale(t) }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "rotationDegrees", { - get : function() { return MathHelper.toDegrees(this._rotation) }, - set : function(t) { this.setRotation(MathHelper.toRadians(t)) }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "localRotationDegrees", { - get : function() { return MathHelper.toDegrees(this._localRotation) }, - set : function(t) { this.localRotation = MathHelper.toRadians(t) }, - enumerable : !0, - configurable : !0 - }), - t.prototype.setLocalScale = function(t) { - return this._localScale = t, - this._localDirty = this._positionDirty = this._localScaleDirty = !0, - this.setDirty(DirtyType.scaleDirty), this - }, t.prototype.setScale = function(t) { - return this._scale = t, - this.parent ? this.localScale = Vector2.divide(t, this.parent._scale) - : this.localScale = t, - this - }, t.prototype.setLocalRotationDegrees = function(t) { - return this.setLocalRotation(MathHelper.toRadians(t)) - }, t.prototype.setLocalRotation = function(t) { - return this._localRotation = t, - this._localDirty = this._positionDirty = this._localPositionDirty = - this._localRotationDirty = this._localScaleDirty = !0, - this.setDirty(DirtyType.rotationDirty), this - }, t.prototype.setRotation = function(t) { - return this._rotation = t, - this.parent ? this.localRotation = this.parent.rotation + t - : this.localRotation = t, - this - }, t.prototype.setRotationDegrees = function(t) { - return this.setRotation(MathHelper.toRadians(t)) - }, t.prototype.setLocalPosition = function(t) { - return t == this._localPosition - ? this - : (this._localPosition = t, - this._localDirty = this._positionDirty = - this._localPositionDirty = this._localRotationDirty = - this._localScaleDirty = !0, - this.setDirty(DirtyType.positionDirty), this) - }, t.prototype.setPosition = function(t) { - return t == this._position - ? this - : (this._position = t, - this.parent ? this.localPosition = Vector2.transform( - this._position, this._worldToLocalTransform) - : this.localPosition = t, - this._positionDirty = !1, this) - }, t.prototype.setDirty = function(t) { - if (0 == (this._hierachyDirty & t)) { - switch (this._hierachyDirty |= t, t) { - case DirtyType.positionDirty: - this.entity.onTransformChanged(ComponentTransform.position); - break; - case DirtyType.rotationDirty: - this.entity.onTransformChanged(ComponentTransform.rotation); - break; - case DirtyType.scaleDirty: - this.entity.onTransformChanged(ComponentTransform.scale) + (Array.prototype.where = function (t) { + return (function (t, e) { + if ("function" == typeof t.reduce) + return t.reduce(function (n, i, o) { + return e.call(arguments[2], i, o, t) && n.push(i), n; + }, []); + for (var n = [], i = 0, o = t.length; i < o; i++) { + var r = t[i]; + e.call(arguments[2], r, i, t) && n.push(r); } - null == this._children && (this._children = []); - for (var e = 0; e < this._children.length; e++) - this._children[e].setDirty(t) - } - }, t.prototype.roundPosition = function() { - this.position = this._position.round() - }, t.prototype.updateTransform = function() { - this._hierachyDirty != DirtyType.clean && - (this.parent && this.parent.updateTransform(), - this._localDirty && - (this._localPositionDirty && - (this._translationMatrix = Matrix2D.createTranslation( - this._localPosition.x, this._localPosition.y), - this._localPositionDirty = !1), - this._localRotationDirty && - (this._rotationMatrix = - Matrix2D.createRotation(this._localRotation), - this._localRotationDirty = !1), - this._localScaleDirty && - (this._scaleMatrix = Matrix2D.createScale(this._localScale.x, - this._localScale.y), - this._localScaleDirty = !1), - this._localTransform = - Matrix2D.multiply(this._scaleMatrix, this._rotationMatrix), - this._localTransform = Matrix2D.multiply(this._localTransform, - this._translationMatrix), - this.parent || (this._worldTransform = this._localTransform, - this._rotation = this._localRotation, - this._scale = this._localScale, - this._worldInverseDirty = !0), - this._localDirty = !1), - this.parent && - (this._worldTransform = Matrix2D.multiply( - this._localTransform, this.parent._worldTransform), - this._rotation = this._localRotation + this.parent._rotation, - this._scale = - Vector2.multiply(this.parent._scale, this._localScale), - this._worldInverseDirty = !0), - this._worldToLocalDirty = !0, this._positionDirty = !0, - this._hierachyDirty = DirtyType.clean) - }, t -}(), Camera = function(t) { - function e() { - var e = t.call(this) || this; - return e._origin = Vector2.zero, e._minimumZoom = .3, e._maximumZoom = 3, - 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 + return n; + })(this, t); }), - 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.entity.position }, - set : function(t) { this.entity.position = 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, o = n.height / 3; - this.deadzone = - new Rectangle((n.width - i) / 2, (n.height - o) / 2, i, o); - 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 + this.deadzone.x + this.focusOffset.x, - this._worldSpaceDeadZone.y = - this.position.y - e.y + 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 PointSectors, 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 -}(), Mesh = function(t) { - function e() { return null !== t && t.apply(this, arguments) || this } - return __extends(e, t), - e.prototype.initialize = function() {}, - e.prototype.setVertPosition = function(t) { - (!this._verts || this._verts.length != t.length) && - (this._verts = new Array(t.length)); - for (var e = 0; e < this._verts.length; e++) - this._verts[e] = new VertexPosition(t[e]); - return this - }, e.prototype.setTriangles = function(t) { - return this._primitiveCount = t.length / 3, this._triangles = t, this - }, e.prototype.recalculateBounds = function() { - this._topLeftVertPosition = - new Vector2(Number.MAX_VALUE, Number.MAX_VALUE); - for (var t = new Vector2(Number.MIN_VALUE, Number.MIN_VALUE), e = 0; - e < this._verts.length; e++) - this._topLeftVertPosition.x = Math.min(this._topLeftVertPosition.x, - this._verts[e].position.x), - this._topLeftVertPosition.y = Math.min(this._topLeftVertPosition.y, - this._verts[e].position.y), - t.x = Math.max(t.x, this._verts[e].position.x), - t.y = Math.max(t.y, this._verts[e].position.y); - return this._width = t.x - this._topLeftVertPosition.x, - this._height = t.y - this._topLeftVertPosition.y, this - }, e.prototype.render = function() {}, e -}(Component), VertexPosition = function() { - return function(t) { this.position = t } -}(), PolygonMesh = function(t) { - function e(e, n) { - void 0 === n && (n = !0); - var i = t.call(this) || this, o = new Triangulator; - return o.triangulate(e, n), i.setVertPosition(e), - i.setTriangles(o.triangleIndices), i.recalculateBounds(), i - } - return __extends(e, t), e -}(Mesh), 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 + (Array.prototype.count = function (t) { + return (function (t, e) { + return t.where(e).length; + })(this, t); }), - 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.prototype.onEntityTransformChanged = function( - t) { this._areBoundsDirty = !0 }, - e -}(PooledComponent), ScreenSpaceCamera = function(t) { - function e() { return null !== t && t.apply(this, arguments) || this } - return __extends(e, t), e.prototype.updateMatrixes = function() {}, e -}(Camera), 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, o = 1 / t.textureHeight; - this.uvs.x = e.x * i, this.uvs.y = e.y * o, this.uvs.width = e.width * i, - this.uvs.height = e.height * o - } -}(), SpriteRenderer = function(t) { - function e() { return null !== t && t.apply(this, arguments) || this } - return __extends(e, t), Object.defineProperty(e.prototype, "origin", { - get : function() { return this._origin }, - set : function(t) { this.setOrigin(t) }, - enumerable : !0, - configurable : !0 + (Array.prototype.findAll = function (t) { + return (function (t, e) { + return t.where(e); + })(this, t); }), - e.prototype.setOrigin = function( - t) { return this._origin != t && (this._origin = t), this }, - e.prototype.setSprite = function(t) { - return this.removeChildren(), - this._sprite = t, - this._sprite && (this._origin = this._sprite.origin), - 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 = this.entity.position.x - this.origin.x - t.position.x + - t.origin.x, - this.y = this.entity.position.y - this.origin.y - t.position.y + - t.origin.y - }, e.prototype.onRemovedFromEntity = function() { - this.parent && this.parent.removeChild(this) - }, e.prototype.reset = function() {}, e -}(RenderableComponent), 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 o = n[i]; - if (!o.isTrigger) { - var r = o.bounds; - r.x += t.x, r.y += t.y; - for (var s = Physics.boxcastBroadphaseExcludingSelf( - o, r, o.collidesWithLayers), - a = 0; - a < s.length; a++) { - var h = s[a]; - if (!h.isTrigger) { - var c = o.collidesWith(h, t); - c && (t = Vector2.subtract(t, c.minimumTranslationVector), - c.collider && (e = c)) - } - } - } - } - return ListPool.free(n), e - }, 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); - return this.applyMovement(t), e - }, e -}(Component), Collider = function(t) { - function e() { - var e = null !== t && t.apply(this, arguments) || this; - return e.physicsLayer = 1, - e.shouldColliderScaleAndRotationWithTransform = !0, - e.collidesWithLayers = Physics.allLayers, e._isPositionDirty = !0, - e._isRotationDirty = !0, e._localOffset = new Vector2(0, 0), e - } - return __extends(e, t), Object.defineProperty(e.prototype, "bounds", { - get : function() { - return (this._isPositionDirty || this._isRotationDirty) && - (this.shape.recalculateBounds(this), - this._isPositionDirty = this._isRotationDirty = !1), - this.shape.bounds - }, - enumerable : !0, - configurable : !0 + (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); }), - Object.defineProperty(e.prototype, "localOffset", { - get : function() { return this._localOffset }, - set : function(t) { this.setLocalOffset(t) }, - enumerable : !0, - configurable : !0 - }), - e.prototype - .setLocalOffset = - function(t) { - this._localOffset != t && - (this.unregisterColliderWithPhysicsSystem(), - this._localOffset = t, - this._localOffsetLength = this._localOffset.length(), - this._isPositionDirty = !0, - this.registerColliderWithPhysicsSystem()) - }, - 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.shape.position; - this.shape.position = Vector2.add(this.shape.position, e); - var i = this.shape.collidesWithShape(t.shape); - return i && (i.collider = t), this.shape.position = n, i - }, e.prototype.onAddedToEntity = function() { - if (this._colliderRequiresAutoSizing) { - this instanceof BoxCollider || - 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 BoxCollider) { - this.width = n, this.height = i, - this.localOffset = Vector2.subtract(e.center, this.entity.position) - } - } - } - this._isParentEntityAddedToScene = !0, - this.registerColliderWithPhysicsSystem() - }, e.prototype.onRemovedFromEntity = function() { - this.unregisterColliderWithPhysicsSystem(), - this._isParentEntityAddedToScene = !1 - }, e.prototype.onEntityTransformChanged = function(t) { - switch (t) { - case ComponentTransform.position: - case ComponentTransform.scale: - this._isPositionDirty = !0; - break; - case ComponentTransform.rotation: - this._isRotationDirty = !0 - } - this._isColliderRegistered && Physics.updateCollider(this) - }, e.prototype.onEnabled = function() { - this.registerColliderWithPhysicsSystem(), - this._isPositionDirty = this._isRotationDirty = !0 - }, e.prototype.onDisabled = function() { - this.unregisterColliderWithPhysicsSystem() - }, 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._isPositionDirty = !0, - 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._isPositionDirty = !0, - 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._isPositionDirty = !0, - this.entity && this._isParentEntityAddedToScene && - Physics.updateCollider(this)), - this - }, 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]; + (Array.prototype.removeAll = function (t) { + !(function (t, e) { + var n; 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 + (n = t.findIndex(e)) >= 0 && t.splice(n, 1); + } while (n >= 0); + })(this, t); }), - 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._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) + (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, o) { + return n.push(e.call(arguments[2], i, o, t)), n; + }, []); + for (var n = [], i = 0, o = t.length; i < o; 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 o = e(t), + r = e(i); + return n ? n(o, r) : o > r ? 1 : -1; + }), + t + ); + })(this, t, e); + }), + (Array.prototype.orderByDescending = function (t, e) { + return (function (t, e, n) { + return ( + t.sort(function (t, i) { + var o = e(t), + r = e(i); + return n ? -n(o, r) : o < r ? 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, o, r) { + var s = JSON.stringify(e.call(arguments[1], o, r, t)), + a = n.findIndex(function (t) { + return t === s; + }); + return ( + a < 0 && (a = n.push(s) - 1), i[a] || (i[a] = []), i[a].push(o), i + ); + }, []); } - 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.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]; - !e.enabled || - 1 != e.updateInterval && Time.frameCount % e.updateInterval != 0 || - e.update() - } - }, 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 -}(), 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 + for ( + var i = [], + o = [], + r = function (n, r) { + var a = JSON.stringify(e.call(s[1], t[n], n, t)), + h = o.findIndex(function (t) { + return t === a; + }); + h < 0 && (h = o.push(a) - 1), i[h] || (i[h] = []), i[h].push(t[n]); + }, + s = arguments, + a = 0, + h = t.length; + a < h; + a++ + ) + r(a); + return i; + })(this, t); }), - 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 -}(), 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 -}(), Time = function() { - function t() {} - return t.update = function(t) { - var e = (t - this._lastTime) / 1e3; - this.deltaTime = e * this.timeScale, this.unscaledDeltaTime = e, - this.frameCount++, this._lastTime = t - }, t.deltaTime = 0, t.timeScale = 1, t.frameCount = 0, t._lastTime = 0, t -}(), GraphicsCapabilities = function() { - function t() {} - return t.prototype.initialize = function(t) { this.platformInitialize(t) }, - t.prototype.platformInitialize = function(t) { - var e = (new egret.sys.RenderBuffer).context.getInstance(); - this.supportsNonPowerOfTwo = !1, - this.supportsTextureFilterAnisotropic = - null != e.getExtension("EXT_texture_filter_anisotropic"), - this.supportsDepth24 = !0, this.supportsPackedDepthStencil = !0, - this.supportsDepthNonLinear = !1, this.supportsTextureMaxLevel = !0, - this.supportsS3tc = - null != e.getExtension("WEBGL_compressed_texture_s3tc") || - null != e.getExtension("WEBGL_compressed_texture_s3tc_srgb"), - this.supportsDxt1 = this.supportsS3tc, this.supportsPvrtc = !1, - this.supportsAtitc = - null != e.getExtension("WEBGL_compressed_texture_astc"), - this.supportsFramebufferObjectARB = !1 - }, t -}(), 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 -}(), GraphicsResource = function() { - return function() {} -}(), 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.enable = !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 -}(), BloomSettings = function() { - function t(t, e, n, i, o, r) { - this.threshold = t, this.blurAmount = e, this.intensity = n, - this.baseIntensity = i, this.saturation = o, this.baseStaturation = r - } - return t.presetSettings = - [ - new t(.1, .6, 2, 1, 1, 0), new t(0, 3, 1, 1, 1, 1), - new t(.5, 8, 2, 1, 0, 1), new t(.25, 8, 1.3, 1, 1, 0), - new t(0, 2, 1, .1, 1, 1), new t(.5, 2, 1, 1, 1, 1) - ], - 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 o = t.call(this) || this; - return o._indices = [], o.radius = e, o.power = i, o.color = n, - o.computeTriangleIndices(), o - } - 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(o) { - var r = i ? 1 : 0, s = i ? 0 : 1; - egret.Tween.get(t.uniforms) - .set({_progress : r}) - .to({_progress : s}, 1e3 * e, n) - .call(function() { o() }) - }) - }, 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), BaseView = function(t) { - function e() { return null !== t && t.apply(this, arguments) || this } - return __extends(e, t), - e.prototype.init = function() {}, e.prototype.show = function(t) {}, - e.prototype.refreshData = function(t) { this._data = t }, - e.prototype.refreshView = function() {}, - e.prototype.close = function() {}, e.prototype.destroy = function() { - for (this.parent && this.parent.removeChild(this); - this.numChildren > 0;) - this.removeChildAt(0) - }, e -}(egret.DisplayObjectContainer), BaseFuiView = function(t) { - function e(e) { - var n = t.call(this) || this; - return n.name = e, n - } - return __extends(e, t), e -}(BaseView), BaseSingle = function() { - function t() {} - return t.getInstance = function() { - return null == this._instance && (this._instance = new this), this._instance - }, t.prototype.clearFuiObj = function(t) { - return !!t && (egret.Tween.removeTweens(t.displayObject), - t.displayObject && t.displayObject.parent && - t.displayObject.parent.removeChild(t.displayObject), - t.dispose(), t = null, !0) - }, t -}(), ViewManager = function(t) { - function e() { - var e = null !== t && t.apply(this, arguments) || this; - return e._openDic = [], e - } - return __extends(e, t), e.prototype.refreshView = function(t, e) { - var n = this.getView(t); - n && (n.refreshData(e), n.refreshView()) - }, e.prototype.openView = function(t, e, n) { - var i = this.getView(t); - if (i || (i = new t), this.existView(t)) - return i.refreshData(e), void i.refreshView(); - this._openDic.push(i) - }, e.prototype.getView = function(t) { - return this._openDic.firstOrDefault(function(e) { return e instanceof t }) - }, e.prototype.existView = function(t) { - return -1 != this._openDic.findIndex(function(e) { return e instanceof t }) - }, e -}(BaseSingle), 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, - o) { return i + (t - e) * (o - 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 o = t.toRadians(i); - return new Vector2(Math.cos(o) * o + e.x, Math.sin(o) * o + e.y) - }, - t.isEven = function(t) { return t % 2 == 0 }, t.Epsilon = 1e-5, - t.Rad2Deg = 57.29578, t.Deg2Rad = .0174532924, t -}(), Matrix2D = function() { - function t(t, e, n, i, o, r) { - 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 = o || 0, this.m32 = r || 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, o = e.m11 * n.m11 + e.m12 * n.m21, - r = 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, - h = e.m31 * n.m11 + e.m32 * n.m21 + n.m31, - c = e.m31 * n.m12 + e.m32 * n.m22 + n.m32; - return i.m11 = o, i.m12 = r, i.m21 = s, i.m22 = a, i.m31 = h, - i.m32 = c, i - }, t.multiplyTranslation = function(e, n, i) { - var o = t.createTranslation(n, i); - return t.multiply(e, o) - }, 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, i) { - return (i = i || new t).m11 = 1, i.m12 = 0, i.m21 = 0, i.m22 = 1, - i.m31 = e, i.m32 = n, i - }, t.createRotation = function(e, n) { - n = new t; - var i = Math.cos(e), o = Math.sin(e); - return n.m11 = i, n.m12 = o, n.m21 = -o, 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() { - function t(t, e, n, i) { - this.x = t || 0, this.y = e || 0, this.width = n || 0, this.height = i || 0 - } - return Object.defineProperty(t.prototype, "left", { - get : function() { return this.x }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "right", { - get : function() { return this.x + this.width }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "top", { - get : function() { return this.y }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "bottom", { - get : function() { return this.y + this.height }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "center", { - get : function() { - return new Vector2(this.x + this.width / 2, - this.y + this.height / 2) - }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.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(t.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 - }), - t.prototype.intersects = function(t) { - return t.left < this.right && this.left < t.right && - t.top < this.bottom && this.top < t.bottom - }, t.prototype.contains = function(t) { - return this.x <= t.x && t.x < this.x + this.width && this.y <= t.y && - t.y < this.y + this.height - }, t.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 - }, t.prototype.getHalfSize = function() { - return new Vector2(.5 * this.width, .5 * this.height) - }, t.fromMinMax = function(e, n, i, o) { - return new t(e, n, i - e, o - n) - }, t.prototype.getClosestPointOnRectangleBorderToPoint = function(t) { - var e = new Vector2(0, 0), n = new Vector2(0, 0); - if (n.x = MathHelper.clamp(t.x, this.left, this.right), - n.y = MathHelper.clamp(t.y, this.top, this.bottom), - this.contains(n)) { - var i = n.x - this.left, o = this.right - n.x, r = n.y - this.top, - s = this.bottom - n.y, a = Math.min(i, o, r, s); - a == r ? (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 } - }, t.prototype.calculateBounds = function(t, e, n, i, o, r, s) { - if (0 == o) - this.x = t.x + e.x - n.x * i.x, this.y = t.y + e.y - n.y * i.y, - this.width = r * i.x, this.height = s * i.y; - else { - var a = t.x + e.x, h = t.y + e.y; - this._transformMat = - Matrix2D.createTranslation(-a - n.x, -h - n.y), - this._tempMat = Matrix2D.createScale(i.x, i.y), - this._transformMat = - Matrix2D.multiply(this._transformMat, this._tempMat), - this._tempMat = Matrix2D.createRotation(o), - this._transformMat = - Matrix2D.multiply(this._transformMat, this._tempMat), - this._tempMat = Matrix2D.createTranslation(a, h), - this._transformMat = - Matrix2D.multiply(this._transformMat, this._tempMat); - var c = new Vector2(a, h), u = new Vector2(a + r, h), - l = new Vector2(a, h + s), p = new Vector2(a + r, h + s); - c = Vector2Ext.transformR(c, this._transformMat), - u = Vector2Ext.transformR(u, this._transformMat), - l = Vector2Ext.transformR(l, this._transformMat), - p = Vector2Ext.transformR(p, this._transformMat); - var f = Math.min(c.x, p.x, u.x, l.x), - d = Math.max(c.x, p.x, u.x, l.x), - y = Math.min(c.y, p.y, u.y, l.y), - g = Math.max(c.y, p.y, u.y, l.y); - this.location = new Vector2(f, y), this.width = d - f, - this.height = g - y - } - }, t.rectEncompassingPoints = function(t) { - for (var e = Number.POSITIVE_INFINITY, n = Number.POSITIVE_INFINITY, - i = Number.NEGATIVE_INFINITY, o = Number.NEGATIVE_INFINITY, - r = 0; - r < t.length; r++) { - var s = t[r]; - s.xi && (i = s.x), - s.yo && (o = s.y) - } - return this.fromMinMax(e, n, i, o) - }, 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 -}(), 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++) - for (var n = t[e], - i = Physics.boxcastBroadphase(n.bounds, n.collidesWithLayers), - o = - function(t) { - var e = i[t]; - if (!n.isTrigger && !e.isTrigger) - return "continue"; - if (n.overlaps(e)) { - var o = new Pair(n, e); - -1 == r._activeTriggerIntersections.findIndex(function( - t) { - return t.first == o.first && t.second == o.second - }) && - -1 == r._previousTriggerIntersections.findIndex( - function(t) { - return t.first == o.first && - t.second == o.second - }) && - r.notifyTriggerListeners(o, !0), - r._activeTriggerIntersections.contains(o) || - r._activeTriggerIntersections.push(o) - } - }, - r = this, s = 0; - s < i.length; s++) - o(s); - 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 Collisions = function() { - function t() {} - return t.isLineToLine = function(t, e, n, i) { - var o = Vector2.subtract(e, t), r = Vector2.subtract(i, n), - s = o.x * r.y - o.y * r.x; - if (0 == s) - return !1; - var a = Vector2.subtract(n, t), h = (a.x * r.y - a.y * r.x) / s; - if (h < 0 || h > 1) - return !1; - var c = (a.x * o.y - a.y * o.x) / s; - return !(c < 0 || c > 1) - }, t.lineToLineIntersection = function(t, e, n, i) { - var o = new Vector2(0, 0), r = Vector2.subtract(e, t), - s = Vector2.subtract(i, n), a = r.x * s.y - r.y * s.x; - if (0 == a) - return o; - var h = Vector2.subtract(n, t), c = (h.x * s.y - h.y * s.x) / a; - if (c < 0 || c > 1) - return o; - var u = (h.x * r.y - h.y * r.x) / a; - return u < 0 || u > 1 ? o - : o = Vector2.add(t, new Vector2(c * r.x, c * r.y)) - }, t.closestPointOnLine = function(t, e, n) { - var i = Vector2.subtract(e, t), o = Vector2.subtract(n, t), - r = Vector2.dot(o, i) / Vector2.dot(i, i); - return r = MathHelper.clamp(r, 0, 1), - Vector2.add(t, new Vector2(i.x * r, i.y * r)) - }, 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, o = .5 * t.height, - r = Math.max(0, Math.max(e.x - t.x) - i), - s = Math.max(0, Math.max(e.y - t.y) - o); - return r * r + s * s < n * n - }, t.isRectToLine = function(t, e, n) { - var i = this.getSector(t.x, t.y, t.width, t.height, e), - o = this.getSector(t.x, t.y, t.width, t.height, n); - if (i == PointSectors.center || o == PointSectors.center) - return !0; - if (0 != (i & o)) - return !1; - var r = i | o, s = void 0, a = void 0; - return !(0 == (r & 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 == (r & 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 == (r & 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 == (r & 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, o) { - return o.x >= t && o.y >= e && o.x < t + n && o.y < e + i - }, t.getSector = function(t, e, n, i, o) { - var r = PointSectors.center; - return o.x < t ? r |= PointSectors.left - : o.x >= t + n && (r |= PointSectors.right), - o.y < e ? r |= PointSectors.top - : o.y >= e + i && (r |= PointSectors.bottom), - r - }, 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) { - return void 0 === e && (e = this.allLayers), - this._spatialHash.aabbBroadphase(t, null, e) - }, - 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.spatialHashCellSize = 100, t.allLayers = -1, t -}(), Shape = function() { return function() {} }(), Polygon = function(t) { - function e(e, n) { - var i = t.call(this) || this; - return i.isUnrotated = !0, i._areEdgeNormalsDirty = !0, i.setPoints(e), - i.isBox = n, i - } - return __extends(e, t), 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 o = Vector2Ext.perpendicular(i, t); - o = Vector2.normalize(o), this._edgeNormals[n] = o - } - }, 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.getClosestPointOnPolygonToPoint = function(t, e) { - for (var n, i = Number.MAX_VALUE, o = new Vector2(0, 0), - r = new Vector2(0, 0), s = 0; - s < t.length; s++) { - var a = s + 1; - a == t.length && (a = 0); - var h = ShapeCollisions.closestPointOnLine(t[s], t[a], e); - if ((n = Vector2.distanceSquared(e, h)) < i) { - i = n, r = h; - var c = Vector2.subtract(t[a], t[s]); - o.x = -c.y, o.y = c.x - } - } - return { - closestPoint: r, distanceSquared: i, - edgeNormal: o = Vector2.normalize(o) - } - }, 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 o = 2 * Math.PI * (i / t); - n[i] = new Vector2(Math.cos(o), Math.sin(o) * e) - } - return n - }, e.prototype.recalculateBounds = function(t) { - if (this.center = t.localOffset, - t.shouldColliderScaleAndRotationWithTransform) { - var e = !0, n = void 0, - i = Matrix2D.createTranslation(-this._polygonCenter.x, - -this._polygonCenter.y); - if (t.entity.scale != Vector2.one) { - n = Matrix2D.createScale(t.entity.scale.x, t.entity.scale.y), - i = Matrix2D.multiply(i, n), e = !1; - var o = Vector2.multiply(t.localOffset, t.entity.scale); - this.center = o - } - if (0 != t.entity.rotation) { - n = Matrix2D.createRotation(t.entity.rotation), - i = Matrix2D.multiply(i, n); - var r = Math.atan2(t.localOffset.y, t.localOffset.x) * - MathHelper.Rad2Deg, - s = e ? t._localOffsetLength - : Vector2.multiply(t.localOffset, t.entity.scale) - .length(); - this.center = MathHelper.pointOnCirlce( - Vector2.zero, s, MathHelper.toDegrees(t.entity.rotation) + r) - } - n = Matrix2D.createTranslation(this._polygonCenter.x, - this._polygonCenter.y), - i = Matrix2D.multiply(i, n), - Vector2Ext.transform(this._originalPoints, i, this.points), - this.isUnrotated = 0 == t.entity.rotation, - t._isRotationDirty && (this._areEdgeNormalsDirty = !0) - } - this.position = Vector2.add(t.entity.position, this.center), - this.bounds = Rectangle.rectEncompassingPoints(this.points), - this.bounds.location = - Vector2.add(this.bounds.location, this.position) - }, e -}(Shape), Box = function(t) { - function e(n, i) { - var o = t.call(this, e.buildBox(n, i), !0) || this; - return o.width = n, o.height = i, o - } - return __extends(e, t), e.buildBox = function(t, e) { - var n = t / 2, i = e / 2, o = new Array(4); - return o[0] = new Vector2(-n, -i), o[1] = new Vector2(n, -i), - o[2] = new Vector2(n, i), o[3] = new Vector2(-n, i), o - }, 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 o = 0; o < this.points.length; o++) - this._originalPoints[o] = this.points[o] - }, e.prototype.containsPoint = function(e) { - return this.isUnrotated ? this.bounds.contains(e) - : t.prototype.containsPoint.call(this, e) - }, e -}(Polygon), Circle = function(t) { - function e(e) { - var n = t.call(this) || this; - return n.radius = e, n._originalRadius = e, n - } - return __extends(e, t), e.prototype.pointCollidesWithShape = function(t) { - return ShapeCollisions.pointToCircle(t, this) - }, e.prototype.collidesWithShape = function(t) { - if (t instanceof Box && t.isUnrotated) - 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.recalculateBounds = function(t) { - if (this.center = t.localOffset, - t.shouldColliderScaleAndRotationWithTransform) { - var e = t.entity.scale, n = 1 == e.x && 1 == e.y, i = Math.max(e.x, e.y); - if (this.radius = this._originalRadius * i, 0 != t.entity.rotation) { - var o = Math.atan2(t.localOffset.y, t.localOffset.x) * - MathHelper.Rad2Deg, - r = n ? t._localOffsetLength - : Vector2.multiply(t.localOffset, t.entity.scale).length(); - this.center = MathHelper.pointOnCirlce( - Vector2.zero, r, MathHelper.toDegrees(t.entity.rotation) + o) - } - } - this.position = Vector2.add(t.entity.position, this.center), - this.bounds = new Rectangle(this.position.x - this.radius, - this.position.y - this.radius, 2 * this.radius, - 2 * this.radius) - }, e.prototype.overlaps = function(t) { - if (t instanceof Box && t.isUnrotated) - 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() {} - 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, o = !0, r = t.edgeNormals, - s = e.edgeNormals, a = Number.POSITIVE_INFINITY, - h = new Vector2, c = Vector2.subtract(t.position, e.position), - u = 0; - u < r.length + s.length; u++) { - n = u < r.length ? r[u] : s[u - r.length]; - var l = 0, p = 0, f = 0, d = 0, y = 0, g = this.getInterval(n, t, l, f); - l = g.min, p = g.max; - var m = this.getInterval(n, e, p, d); - p = m.min, d = m.max; - var _ = Vector2.dot(c, n); - if (l += _, f += _, - (y = this.intervalDistance(l, f, p, d)) > 0 && (o = !1), !o) + (Array.prototype.sum = function (t) { + return (function (t, e) { + for (var n, i = 0, o = t.length; i < o; 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 DirtyType, + ComponentTransform, + 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, + o = !1, + r = new Map(); + r.set(e, e); + var s = new Map(), + a = new PriorityQueue(1e3); + a.enqueue(new AStarNode(e), 0), s.set(e, 0); + for ( + var h = function () { + var e = a.dequeue(); + if (JSON.stringify(e.data) == JSON.stringify(n)) + return (o = !0), "break"; + t.getNeighbors(e.data).forEach(function (o) { + var h = s.get(e.data) + t.cost(e.data, o); + if (!i.hasKey(s, o) || h < s.get(o)) { + s.set(o, h); + var c = h + t.heuristic(o, n); + a.enqueue(new AStarNode(o), c), r.set(o, e.data); + } + }); + }; + a.count > 0; + + ) { + if ("break" === h()) break; + } + return o ? this.recontructPath(r, 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, o = t.keys(), r = t.values(); + (n = o.next()), (i = r.next()), !n.done; + + ) + if (JSON.stringify(n.value) == JSON.stringify(e)) return i.value; return null; - (y = Math.abs(y)) < a && - (a = y, h = n, Vector2.dot(h, c) < 0 && (h = new Vector2(-h))) + }), + (t.recontructPath = function (t, e, n) { + var i = [], + o = n; + for (i.push(n); o != e; ) (o = this.getKey(t, o)), i.push(o); + return i.reverse(), i; + }), + t + ); + })(), + AStarNode = (function (t) { + function e(e) { + var n = t.call(this) || this; + return (n.data = e), n; } - return i.normal = h, - i.minimumTranslationVector = - Vector2.multiply(new Vector2(-h), 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 o = Vector2.dot(e.points[0], t); - n = i = o; - for (var r = 1; r < e.points.length; r++) - (o = Vector2.dot(e.points[r], t))i && (i = o); - return { min: n, max: i } - }, t.circleToPolygon = function(t, e) { - var n = new CollisionResult, i = Vector2.subtract(t.position, e.position), - o = Polygon.getClosestPointOnPolygonToPoint(e.points, i), - r = o.closestPoint, s = o.distanceSquared; - n.normal = o.edgeNormal; - var a, h = e.containsPoint(t.position); - if (s > t.radius * t.radius && !h) - return null; - if (h) - 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 c = Math.sqrt(s); - a = Vector2.multiply(new Vector2(-Vector2.subtract(i, r)), - new Vector2((t.radius - s) / c)) + return __extends(e, t), e; + })(PriorityQueueNode), + AstarGridGraph = (function () { + function t(t, e) { + (this.dirs = [ + new Point(1, 0), + new Point(0, -1), + new Point(-1, 0), + new Point(0, 1), + ]), + (this.walls = []), + (this.weightedNodes = []), + (this.defaultWeight = 1), + (this.weightedNodeWeight = 5), + (this._neighbors = new Array(4)), + (this._width = t), + (this._height = e); } - return n.minimumTranslationVector = a, n.point = Vector2.add(r, 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 o = Vector2.add(i, Vector2.subtract(n.normal, new Vector2(t.radius))); - return n.minimumTranslationVector = Vector2.subtract(t.position, o), n + 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 Point(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); } - var r = Vector2.distanceSquared(i, t.position); - if (0 == r) - n.minimumTranslationVector = - Vector2.multiply(n.normal, new Vector2(t.radius)); - else if (r <= 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 ( + (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, + }), + (t.prototype.contains = function (t) { + return this._nodes[t.queueIndex] == t; + }), + (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 o = this._nodes[i]; + this.hasHigherPriority(o, e) && (e = o); + var r = i + 1; + if (r <= this._numNodes) { + var s = this._nodes[r]; + 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, + o = !1, + r = []; + r.unshift(e); + var s = new Map(); + s.set(e, e); + for ( + var a = function () { + var e = r.shift(); + if (JSON.stringify(e) == JSON.stringify(n)) + return (o = !0), "break"; + t.getNeighbors(e).forEach(function (t) { + i.hasKey(s, t) || (r.unshift(t), s.set(t, e)); + }); + }; + r.length > 0; + + ) { + if ("break" === a()) break; + } + return o ? 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 null - }, t.pointToCircle = function(t, e) { - var n = new CollisionResult, i = Vector2.distanceSquared(t, e.position), - o = 1 + e.radius; - if (i < o * o) { - n.normal = Vector2.normalize(Vector2.subtract(t, e.position)); - var r = o - Math.sqrt(i); - return n.minimumTranslationVector = - Vector2.multiply(new Vector2(-r, -r), n.normal), - n.point = Vector2.add( - e.position, - Vector2.multiply(n.normal, new Vector2(e.radius, e.radius))), - n + 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 + ); + })(), + Point = (function () { + return function (t, e) { + (this.x = t || 0), (this.y = e || this.x); + }; + })(), + 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 null - }, t.closestPointOnLine = function(t, e, n) { - var i = Vector2.subtract(e, t), o = Vector2.subtract(n, t), - r = Vector2.dot(o, i) / Vector2.dot(i, i); - return r = MathHelper.clamp(r, 0, 1), - Vector2.add(t, Vector2.multiply(i, new Vector2(r, r))) - }, t.pointToPoly = function(t, e) { - var n = new CollisionResult; - if (e.containsPoint(t)) { - var i, - o = Polygon.getClosestPointOnPolygonToPoint( - e.points, Vector2.subtract(t, e.position)), - r = o.closestPoint; - return i = o.distanceSquared, n.normal = o.edgeNormal, - n.minimumTranslationVector = Vector2.multiply( - n.normal, new Vector2(Math.sqrt(i), Math.sqrt(i))), - n.point = Vector2.add(r, e.position), n + 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 Point(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 Point(1, 0), + new Point(0, -1), + new Point(-1, 0), + new Point(0, -1), + ]), + (t.COMPASS_DIRS = [ + new Point(1, 0), + new Point(1, -1), + new Point(0, -1), + new Point(-1, -1), + new Point(-1, 0), + new Point(-1, 1), + new Point(0, 1), + new Point(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 null - }, t.circleToCircle = function(t, e) { - var n = new CollisionResult, - i = Vector2.distanceSquared(t.position, e.position), - o = t.radius + e.radius; - if (i < o * o) { - n.normal = Vector2.normalize(Vector2.subtract(t.position, e.position)); - var r = o - Math.sqrt(i); - return n.minimumTranslationVector = - Vector2.multiply(new Vector2(-r), n.normal), - n.point = Vector2.add( - e.position, Vector2.multiply(n.normal, new Vector2(e.radius))), - n + 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 Point(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 Point(1, 0), + new Point(0, -1), + new Point(-1, 0), + new Point(0, 1), + ]), + (t.COMPASS_DIRS = [ + new Point(1, 0), + new Point(1, -1), + new Point(0, -1), + new Point(-1, -1), + new Point(-1, 0), + new Point(-1, 1), + new Point(0, 1), + new Point(1, 1), + ]), + t + ); + })(), + WeightedNode = (function (t) { + function e(e) { + var n = t.call(this) || this; + return (n.data = e), n; } - return null - }, t -}(), SpatialHash = function() { - function t(t) { - void 0 === t && (t = 100), - this.gridBounds = new Rectangle, 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), o = n.x; - o <= i.x; o++) - for (var r = n.y; r <= i.y; r++) { - var s = this.cellAtPosition(o, r); - 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(new Vector2(n.x, n.y)) || - (this.gridBounds = RectangleExt.union(this.gridBounds, n)), - this.gridBounds.contains(new Vector2(i.x, i.y)) || + return __extends(e, t), e; + })(PriorityQueueNode), + WeightedPathfinder = (function () { + function t() {} + return ( + (t.search = function (t, e, n) { + var i = this, + o = !1, + r = new Map(); + r.set(e, e); + var s = new Map(), + a = new PriorityQueue(1e3); + a.enqueue(new WeightedNode(e), 0), s.set(e, 0); + for ( + var h = function () { + var e = a.dequeue(); + if (JSON.stringify(e.data) == JSON.stringify(n)) + return (o = !0), "break"; + t.getNeighbors(e.data).forEach(function (n) { + var o = s.get(e.data) + t.cost(e.data, n); + if (!i.hasKey(s, n) || o < s.get(n)) { + s.set(n, o); + var h = o; + a.enqueue(new WeightedNode(n), h), r.set(n, e.data); + } + }); + }; + a.count > 0; + + ) { + if ("break" === h()) break; + } + return o ? this.recontructPath(r, 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, o = t.keys(), r = t.values(); + (n = o.next()), (i = r.next()), !n.done; + + ) + if (JSON.stringify(n.value) == JSON.stringify(e)) return i.value; + return null; + }), + (t.recontructPath = function (t, e, n) { + var i = [], + o = n; + for (i.push(n); o != e; ) (o = this.getKey(t, o)), i.push(o); + return i.reverse(), i; + }), + t + ); + })(), + DebugDefaults = (function () { + function t() {} + return (t.verletParticle = 14431326), (t.verletConstraintEdge = 4406838), t; + })(), + Component = (function (t) { + function e() { + var e = (null !== t && t.apply(this, arguments)) || this; + return (e._enabled = !0), (e.updateInterval = 1), 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, + }), + (e.prototype.setEnabled = function (t) { + return ( + this._enabled != t && + ((this._enabled = t), + this._enabled ? this.onEnabled() : this.onDisabled()), + this + ); + }), + (e.prototype.initialize = function () {}), + (e.prototype.onAddedToEntity = function () {}), + (e.prototype.onRemovedFromEntity = function () {}), + (e.prototype.onEnabled = function () {}), + (e.prototype.onDisabled = function () {}), + (e.prototype.onEntityTransformChanged = function (t) {}), + (e.prototype.update = function () {}), + (e.prototype.debugRender = function () {}), + (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), + Entity = (function (t) { + function e(n) { + var i = t.call(this) || this; + return ( + (i._position = Vector2.zero), + (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 + ); + } + 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 this._position; + }, + set: function (t) { + this._position = t; + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(e.prototype, "scale", { + get: function () { + return new Vector2(this.scaleX, this.scaleY); + }, + set: function (t) { + (this.scaleX = t.x), (this.scaleY = t.y); + }, + 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, + }), + 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.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.onTransformChanged = function (t) { + this.components.onEntityTransformChanged(t); + }), + (e.prototype.destroy = function () { + (this._isDestoryed = !0), + this.scene.entities.remove(this), + this.removeChildren(); + for (var t = this.numChildren - 1; t >= 0; t--) { + this.getChildAt(t).entity.destroy(); + } + }), + e + ); + })(egret.DisplayObjectContainer), + 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(); + }), + (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.stage = e), + t.initialize(e); + } + return ( + Object.defineProperty(t, "scene", { + get: function () { + return this._scene; + }, + set: function (t) { + if (!t) throw new Error("场景不能为空"); + null == this._scene + ? ((this._scene = t), this._scene.begin()) + : (this._nextScene = t); + }, + enumerable: !0, + configurable: !0, + }), + (t.initialize = function (t) { + Input.initialize(t); + }), + (t.update = function () { + if ((Time.update(egret.getTimer()), t._scene)) { + for (var e = GlobalManager.globalManagers.length - 1; e >= 0; e--) + GlobalManager.globalManagers[e].enabled && + GlobalManager.globalManagers[e].update(); + if ( + ((t.sceneTransition && + (!t.sceneTransition || + (t.sceneTransition.loadsNewScene && + !t.sceneTransition.isNewSceneLoaded))) || + t._scene.update(), + t._nextScene) + ) { + t._scene.end(); + for (e = 0; e < t._scene.entities.buffer.length; e++) { + t._scene.entities.buffer[e].destroy(); + } + (t._scene = t._nextScene), (t._nextScene = null), t._scene.begin(); + } + } + 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(), this._scene.postRender()); + }), + (t.startSceneTransition = function (t) { + if (!this.sceneTransition) return (this.sceneTransition = t), t; + console.warn("在前一个场景完成之前,不能开始一个新的场景转换。"); + }), + t + ); + })(); +!(function (t) { + (t[(t.clean = 0)] = "clean"), + (t[(t.positionDirty = 1)] = "positionDirty"), + (t[(t.scaleDirty = 2)] = "scaleDirty"), + (t[(t.rotationDirty = 3)] = "rotationDirty"); +})(DirtyType || (DirtyType = {})), + (function (t) { + (t[(t.position = 0)] = "position"), + (t[(t.scale = 1)] = "scale"), + (t[(t.rotation = 2)] = "rotation"); + })(ComponentTransform || (ComponentTransform = {})); +var CameraStyle, + Transform = (function () { + function t(t) { + (this._localRotation = 0), + (this._worldTransform = Matrix2D.identity), + (this._worldToLocalTransform = Matrix2D.identity), + (this._worldInverseTransform = Matrix2D.identity), + (this._rotation = 0), + (this.entity = t), + (this._scale = this._localScale = Vector2.one), + (this._children = []); + } + return ( + Object.defineProperty(t.prototype, "childCount", { + get: function () { + return this._children.length; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.getChild = function (t) { + return this._children[t]; + }), + Object.defineProperty(t.prototype, "worldInverseTransform", { + get: function () { + return ( + this.updateTransform(), + this._worldInverseDirty && + ((this._worldInverseTransform = Matrix2D.invert( + this._worldTransform, + this._worldInverseTransform + )), + (this._worldInverseDirty = !1)), + this._worldInverseTransform + ); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "localToWorldTransform", { + get: function () { + return this.updateTransform(), this._worldTransform; + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "worldToLocalTransform", { + get: function () { + return ( + this._worldToLocalDirty && + (this.parent + ? (this.parent.updateTransform(), + (this._worldToLocalTransform = Matrix2D.invert( + this.parent._worldTransform, + this._worldToLocalTransform + ))) + : (this._worldInverseTransform = new Matrix2D()), + (this._worldToLocalDirty = !1)), + this._worldToLocalTransform + ); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "parent", { + get: function () { + return this._parent; + }, + set: function (t) { + this.setParent(t); + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setParent = function (t) { + return this._parent == t + ? this + : (this._parent && this._parent._children.remove(this), + t && t._children.push(this), + (this._parent = t), + this); + }), + Object.defineProperty(t.prototype, "rotation", { + get: function () { + return this.updateTransform(), this._rotation; + }, + set: function (t) { + this.setRotation(t); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "localRotation", { + get: function () { + return this.updateTransform(), this._localRotation; + }, + set: function (t) { + this.setLocalRotation(t); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "position", { + get: function () { + return ( + this.updateTransform(), + this._positionDirty && + (this.parent + ? (this.parent.updateTransform(), + (this._position = Vector2Ext.transformR( + this._localPosition, + this.parent._worldTransform + ))) + : (this._position = this._localPosition), + (this._positionDirty = !1)), + this._position + ); + }, + set: function (t) { + this.setPosition(t); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "localPosition", { + get: function () { + return this.updateTransform(), this._localPosition; + }, + set: function (t) { + this.setLocalPosition(t); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "scale", { + get: function () { + return this.updateTransform(), this._scale; + }, + set: function (t) { + this.setScale(t); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "localScale", { + get: function () { + return this.updateTransform(), this._localScale; + }, + set: function (t) { + this.setLocalScale(t); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "rotationDegrees", { + get: function () { + return MathHelper.toDegrees(this._rotation); + }, + set: function (t) { + this.setRotation(MathHelper.toRadians(t)); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "localRotationDegrees", { + get: function () { + return MathHelper.toDegrees(this._localRotation); + }, + set: function (t) { + this.localRotation = MathHelper.toRadians(t); + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setLocalScale = function (t) { + return ( + (this._localScale = t), + (this._localDirty = this._positionDirty = this._localScaleDirty = !0), + this.setDirty(DirtyType.scaleDirty), + this + ); + }), + (t.prototype.setScale = function (t) { + return ( + (this._scale = t), + this.parent + ? (this.localScale = Vector2.divide(t, this.parent._scale)) + : (this.localScale = t), + this + ); + }), + (t.prototype.setLocalRotationDegrees = function (t) { + return this.setLocalRotation(MathHelper.toRadians(t)); + }), + (t.prototype.setLocalRotation = function (t) { + return ( + (this._localRotation = t), + (this._localDirty = this._positionDirty = this._localPositionDirty = this._localRotationDirty = this._localScaleDirty = !0), + this.setDirty(DirtyType.rotationDirty), + this + ); + }), + (t.prototype.setRotation = function (t) { + return ( + (this._rotation = t), + this.parent + ? (this.localRotation = this.parent.rotation + t) + : (this.localRotation = t), + this + ); + }), + (t.prototype.setRotationDegrees = function (t) { + return this.setRotation(MathHelper.toRadians(t)); + }), + (t.prototype.setLocalPosition = function (t) { + return t == this._localPosition + ? this + : ((this._localPosition = t), + (this._localDirty = this._positionDirty = this._localPositionDirty = this._localRotationDirty = this._localScaleDirty = !0), + this.setDirty(DirtyType.positionDirty), + this); + }), + (t.prototype.setPosition = function (t) { + return t == this._position + ? this + : ((this._position = t), + this.parent + ? (this.localPosition = Vector2.transform( + this._position, + this._worldToLocalTransform + )) + : (this.localPosition = t), + (this._positionDirty = !1), + this); + }), + (t.prototype.setDirty = function (t) { + if (0 == (this._hierachyDirty & t)) { + switch (((this._hierachyDirty |= t), t)) { + case DirtyType.positionDirty: + this.entity.onTransformChanged(ComponentTransform.position); + break; + case DirtyType.rotationDirty: + this.entity.onTransformChanged(ComponentTransform.rotation); + break; + case DirtyType.scaleDirty: + this.entity.onTransformChanged(ComponentTransform.scale); + } + null == this._children && (this._children = []); + for (var e = 0; e < this._children.length; e++) + this._children[e].setDirty(t); + } + }), + (t.prototype.roundPosition = function () { + this.position = this._position.round(); + }), + (t.prototype.updateTransform = function () { + this._hierachyDirty != DirtyType.clean && + (this.parent && this.parent.updateTransform(), + this._localDirty && + (this._localPositionDirty && + ((this._translationMatrix = Matrix2D.createTranslation( + this._localPosition.x, + this._localPosition.y + )), + (this._localPositionDirty = !1)), + this._localRotationDirty && + ((this._rotationMatrix = Matrix2D.createRotation( + this._localRotation + )), + (this._localRotationDirty = !1)), + this._localScaleDirty && + ((this._scaleMatrix = Matrix2D.createScale( + this._localScale.x, + this._localScale.y + )), + (this._localScaleDirty = !1)), + (this._localTransform = Matrix2D.multiply( + this._scaleMatrix, + this._rotationMatrix + )), + (this._localTransform = Matrix2D.multiply( + this._localTransform, + this._translationMatrix + )), + this.parent || + ((this._worldTransform = this._localTransform), + (this._rotation = this._localRotation), + (this._scale = this._localScale), + (this._worldInverseDirty = !0)), + (this._localDirty = !1)), + this.parent && + ((this._worldTransform = Matrix2D.multiply( + this._localTransform, + this.parent._worldTransform + )), + (this._rotation = this._localRotation + this.parent._rotation), + (this._scale = Vector2.multiply( + this.parent._scale, + this._localScale + )), + (this._worldInverseDirty = !0)), + (this._worldToLocalDirty = !0), + (this._positionDirty = !0), + (this._hierachyDirty = DirtyType.clean)); + }), + t + ); + })(), + Camera = (function (t) { + function e() { + var e = t.call(this) || this; + return ( + (e._origin = Vector2.zero), + (e._minimumZoom = 0.3), + (e._maximumZoom = 3), + (e.followLerp = 0.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.entity.position; + }, + set: function (t) { + this.entity.position = 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, + o = n.height / 3; + this.deadzone = new Rectangle( + (n.width - i) / 2, + (n.height - o) / 2, + i, + o + ); + 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(0.5) + ); + (this._worldSpaceDeadZone.x = + this.position.x - e.x + this.deadzone.x + this.focusOffset.x), + (this._worldSpaceDeadZone.y = + this.position.y - e.y + 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(0.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 PointSectors, + 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 + ); + })(), + Mesh = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return ( + __extends(e, t), + (e.prototype.initialize = function () {}), + (e.prototype.setVertPosition = function (t) { + (!this._verts || this._verts.length != t.length) && + (this._verts = new Array(t.length)); + for (var e = 0; e < this._verts.length; e++) + this._verts[e] = new VertexPosition(t[e]); + return this; + }), + (e.prototype.setTriangles = function (t) { + return ( + (this._primitiveCount = t.length / 3), (this._triangles = t), this + ); + }), + (e.prototype.recalculateBounds = function () { + this._topLeftVertPosition = new Vector2( + Number.MAX_VALUE, + Number.MAX_VALUE + ); + for ( + var t = new Vector2(Number.MIN_VALUE, Number.MIN_VALUE), e = 0; + e < this._verts.length; + e++ + ) + (this._topLeftVertPosition.x = Math.min( + this._topLeftVertPosition.x, + this._verts[e].position.x + )), + (this._topLeftVertPosition.y = Math.min( + this._topLeftVertPosition.y, + this._verts[e].position.y + )), + (t.x = Math.max(t.x, this._verts[e].position.x)), + (t.y = Math.max(t.y, this._verts[e].position.y)); + return ( + (this._width = t.x - this._topLeftVertPosition.x), + (this._height = t.y - this._topLeftVertPosition.y), + this + ); + }), + (e.prototype.render = function () {}), + e + ); + })(Component), + VertexPosition = (function () { + return function (t) { + this.position = t; + }; + })(), + PolygonMesh = (function (t) { + function e(e, n) { + void 0 === n && (n = !0); + var i = t.call(this) || this, + o = new Triangulator(); + return ( + o.triangulate(e, n), + i.setVertPosition(e), + i.setTriangles(o.triangleIndices), + i.recalculateBounds(), + i + ); + } + return __extends(e, t), e; + })(Mesh), + 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.prototype.onEntityTransformChanged = function (t) { + this._areBoundsDirty = !0; + }), + e + ); + })(PooledComponent), + ScreenSpaceCamera = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return __extends(e, t), (e.prototype.updateMatrixes = function () {}), e; + })(Camera), + 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(0.5 * e.width, 0.5 * e.height)), + (this.origin = n); + var i = 1 / t.textureWidth, + o = 1 / t.textureHeight; + (this.uvs.x = e.x * i), + (this.uvs.y = e.y * o), + (this.uvs.width = e.width * i), + (this.uvs.height = e.height * o); + }; + })(), + SpriteRenderer = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return ( + __extends(e, t), + Object.defineProperty(e.prototype, "origin", { + get: function () { + return this._origin; + }, + set: function (t) { + this.setOrigin(t); + }, + enumerable: !0, + configurable: !0, + }), + (e.prototype.setOrigin = function (t) { + return this._origin != t && (this._origin = t), this; + }), + (e.prototype.setSprite = function (t) { + return ( + this.removeChildren(), + (this._sprite = t), + this._sprite && (this._origin = this._sprite.origin), + (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 = + this.entity.position.x - this.origin.x - t.position.x + t.origin.x), + (this.y = + this.entity.position.y - this.origin.y - t.position.y + t.origin.y); + }), + (e.prototype.onRemovedFromEntity = function () { + this.parent && this.parent.removeChild(this); + }), + (e.prototype.reset = function () {}), + e + ); + })(RenderableComponent), + 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 o = n[i]; + if (!o.isTrigger) { + var r = o.bounds; + (r.x += t.x), (r.y += t.y); + for ( + var s = Physics.boxcastBroadphaseExcludingSelf( + o, + r, + o.collidesWithLayers + ), + a = 0; + a < s.length; + a++ + ) { + var h = s[a]; + if (!h.isTrigger) { + var c = o.collidesWith(h, t); + c && + ((t = Vector2.subtract(t, c.minimumTranslationVector)), + c.collider && (e = c)); + } + } + } + } + return ListPool.free(n), e; + }), + (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); + return this.applyMovement(t), e; + }), + e + ); + })(Component), + Collider = (function (t) { + function e() { + var e = (null !== t && t.apply(this, arguments)) || this; + return ( + (e.physicsLayer = 1), + (e.shouldColliderScaleAndRotationWithTransform = !0), + (e.collidesWithLayers = Physics.allLayers), + (e._isPositionDirty = !0), + (e._isRotationDirty = !0), + (e._localOffset = new Vector2(0, 0)), + e + ); + } + return ( + __extends(e, t), + Object.defineProperty(e.prototype, "bounds", { + get: function () { + return ( + (this._isPositionDirty || this._isRotationDirty) && + (this.shape.recalculateBounds(this), + (this._isPositionDirty = this._isRotationDirty = !1)), + this.shape.bounds + ); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(e.prototype, "localOffset", { + get: function () { + return this._localOffset; + }, + set: function (t) { + this.setLocalOffset(t); + }, + enumerable: !0, + configurable: !0, + }), + (e.prototype.setLocalOffset = function (t) { + this._localOffset != t && + (this.unregisterColliderWithPhysicsSystem(), + (this._localOffset = t), + (this._localOffsetLength = this._localOffset.length()), + (this._isPositionDirty = !0), + this.registerColliderWithPhysicsSystem()); + }), + (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.shape.position; + this.shape.position = Vector2.add(this.shape.position, e); + var i = this.shape.collidesWithShape(t.shape); + return i && (i.collider = t), (this.shape.position = n), i; + }), + (e.prototype.onAddedToEntity = function () { + if (this._colliderRequiresAutoSizing) { + this instanceof BoxCollider || + 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 BoxCollider) { + (this.width = n), + (this.height = i), + (this.localOffset = Vector2.subtract( + e.center, + this.entity.position + )); + } + } + } + (this._isParentEntityAddedToScene = !0), + this.registerColliderWithPhysicsSystem(); + }), + (e.prototype.onRemovedFromEntity = function () { + this.unregisterColliderWithPhysicsSystem(), + (this._isParentEntityAddedToScene = !1); + }), + (e.prototype.onEntityTransformChanged = function (t) { + switch (t) { + case ComponentTransform.position: + case ComponentTransform.scale: + this._isPositionDirty = !0; + break; + case ComponentTransform.rotation: + this._isRotationDirty = !0; + } + this._isColliderRegistered && Physics.updateCollider(this); + }), + (e.prototype.onEnabled = function () { + this.registerColliderWithPhysicsSystem(), + (this._isPositionDirty = this._isRotationDirty = !0); + }), + (e.prototype.onDisabled = function () { + this.unregisterColliderWithPhysicsSystem(); + }), + 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._isPositionDirty = !0), + 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._isPositionDirty = !0), + 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._isPositionDirty = !0), + this.entity && + this._isParentEntityAddedToScene && + Physics.updateCollider(this)), + this + ); + }), + 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._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.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]; + !e.enabled || + (1 != e.updateInterval && + Time.frameCount % e.updateInterval != 0) || + e.update(); + } + }), + (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 + ); + })(), + 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 + ); + })(), + 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 + ); + })(), + Time = (function () { + function t() {} + return ( + (t.update = function (t) { + var e = (t - this._lastTime) / 1e3; + (this.deltaTime = e * this.timeScale), + (this.unscaledDeltaTime = e), + this.frameCount++, + (this._lastTime = t); + }), + (t.deltaTime = 0), + (t.timeScale = 1), + (t.frameCount = 0), + (t._lastTime = 0), + t + ); + })(), + GraphicsCapabilities = (function () { + function t() {} + return ( + (t.prototype.initialize = function (t) { + this.platformInitialize(t); + }), + (t.prototype.platformInitialize = function (t) { + var e = new egret.sys.RenderBuffer().context.getInstance(); + (this.supportsNonPowerOfTwo = !1), + (this.supportsTextureFilterAnisotropic = + null != e.getExtension("EXT_texture_filter_anisotropic")), + (this.supportsDepth24 = !0), + (this.supportsPackedDepthStencil = !0), + (this.supportsDepthNonLinear = !1), + (this.supportsTextureMaxLevel = !0), + (this.supportsS3tc = + null != e.getExtension("WEBGL_compressed_texture_s3tc") || + null != e.getExtension("WEBGL_compressed_texture_s3tc_srgb")), + (this.supportsDxt1 = this.supportsS3tc), + (this.supportsPvrtc = !1), + (this.supportsAtitc = + null != e.getExtension("WEBGL_compressed_texture_astc")), + (this.supportsFramebufferObjectARB = !1); + }), + t + ); + })(), + 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 + ); + })(), + GraphicsResource = (function () { + return function () {}; + })(), + 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.enable = !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 + ); + })(), + BloomSettings = (function () { + function t(t, e, n, i, o, r) { + (this.threshold = t), + (this.blurAmount = e), + (this.intensity = n), + (this.baseIntensity = i), + (this.saturation = o), + (this.baseStaturation = r); + } + return ( + (t.presetSettings = [ + new t(0.1, 0.6, 2, 1, 1, 0), + new t(0, 3, 1, 1, 1, 1), + new t(0.5, 8, 2, 1, 0, 1), + new t(0.25, 8, 1.3, 1, 1, 0), + new t(0, 2, 1, 0.1, 1, 1), + new t(0.5, 2, 1, 1, 1, 1), + ]), + 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 o = t.call(this) || this; + return ( + (o._indices = []), + (o.radius = e), + (o.power = i), + (o.color = n), + o.computeTriangleIndices(), + o + ); + } + 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 (o) { + var r = i ? 1 : 0, + s = i ? 0 : 1; + egret.Tween.get(t.uniforms) + .set({ _progress: r }) + .to({ _progress: s }, 1e3 * e, n) + .call(function () { + o(); + }); + }) + ); + }), + t + ); + })(), + FadeTransition = (function (t) { + function e(e) { + var n = t.call(this, e) || this; + return ( + (n.fadeToColor = 0), + (n.fadeOutDuration = 0.4), + (n.fadeEaseType = egret.Ease.quadInOut), + (n.delayBeforeFadeInDuration = 0.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: 0.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), + BaseView = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return ( + __extends(e, t), + (e.prototype.init = function () {}), + (e.prototype.show = function (t) {}), + (e.prototype.refreshData = function (t) { + this._data = t; + }), + (e.prototype.refreshView = function () {}), + (e.prototype.close = function () {}), + (e.prototype.destroy = function () { + for ( + this.parent && this.parent.removeChild(this); + this.numChildren > 0; + + ) + this.removeChildAt(0); + }), + e + ); + })(egret.DisplayObjectContainer), + BaseFuiView = (function (t) { + function e(e) { + var n = t.call(this) || this; + return (n.name = e), n; + } + return __extends(e, t), e; + })(BaseView), + BaseSingle = (function () { + function t() {} + return ( + (t.getInstance = function () { + return ( + null == this._instance && (this._instance = new this()), + this._instance + ); + }), + (t.prototype.clearFuiObj = function (t) { + return ( + !!t && + (egret.Tween.removeTweens(t.displayObject), + t.displayObject && + t.displayObject.parent && + t.displayObject.parent.removeChild(t.displayObject), + t.dispose(), + (t = null), + !0) + ); + }), + t + ); + })(), + ViewManager = (function (t) { + function e() { + var e = (null !== t && t.apply(this, arguments)) || this; + return (e._openDic = []), e; + } + return ( + __extends(e, t), + (e.prototype.refreshView = function (t, e) { + var n = this.getView(t); + n && (n.refreshData(e), n.refreshView()); + }), + (e.prototype.openView = function (t, e, n) { + var i = this.getView(t); + if ((i || (i = new t()), this.existView(t))) + return i.refreshData(e), void i.refreshView(); + this._openDic.push(i); + }), + (e.prototype.getView = function (t) { + return this._openDic.firstOrDefault(function (e) { + return e instanceof t; + }); + }), + (e.prototype.existView = function (t) { + return ( + -1 != + this._openDic.findIndex(function (e) { + return e instanceof t; + }) + ); + }), + e + ); + })(BaseSingle), + 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 0.017453292519943295 * t; + }), + (t.map = function (t, e, n, i, o) { + return i + ((t - e) * (o - 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 o = t.toRadians(i); + return new Vector2(Math.cos(o) * o + e.x, Math.sin(o) * o + e.y); + }), + (t.isEven = function (t) { + return t % 2 == 0; + }), + (t.Epsilon = 1e-5), + (t.Rad2Deg = 57.29578), + (t.Deg2Rad = 0.0174532924), + t + ); + })(), + Matrix2D = (function () { + function t(t, e, n, i, o, r) { + (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 = o || 0), + (this.m32 = r || 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(), + o = e.m11 * n.m11 + e.m12 * n.m21, + r = 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, + h = e.m31 * n.m11 + e.m32 * n.m21 + n.m31, + c = e.m31 * n.m12 + e.m32 * n.m22 + n.m32; + return ( + (i.m11 = o), + (i.m12 = r), + (i.m21 = s), + (i.m22 = a), + (i.m31 = h), + (i.m32 = c), + i + ); + }), + (t.multiplyTranslation = function (e, n, i) { + var o = t.createTranslation(n, i); + return t.multiply(e, o); + }), + (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, i) { + return ( + ((i = i || new t()).m11 = 1), + (i.m12 = 0), + (i.m21 = 0), + (i.m22 = 1), + (i.m31 = e), + (i.m32 = n), + i + ); + }), + (t.createRotation = function (e, n) { + n = new t(); + var i = Math.cos(e), + o = Math.sin(e); + return (n.m11 = i), (n.m12 = o), (n.m21 = -o), (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 () { + function t(t, e, n, i) { + (this.x = t || 0), + (this.y = e || 0), + (this.width = n || 0), + (this.height = i || 0); + } + return ( + Object.defineProperty(t.prototype, "left", { + get: function () { + return this.x; + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "right", { + get: function () { + return this.x + this.width; + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "top", { + get: function () { + return this.y; + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "bottom", { + get: function () { + return this.y + this.height; + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "center", { + get: function () { + return new Vector2(this.x + this.width / 2, this.y + this.height / 2); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.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(t.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, + }), + (t.prototype.intersects = function (t) { + return ( + t.left < this.right && + this.left < t.right && + t.top < this.bottom && + this.top < t.bottom + ); + }), + (t.prototype.contains = function (t) { + return ( + this.x <= t.x && + t.x < this.x + this.width && + this.y <= t.y && + t.y < this.y + this.height + ); + }), + (t.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 + ); + }), + (t.prototype.getHalfSize = function () { + return new Vector2(0.5 * this.width, 0.5 * this.height); + }), + (t.fromMinMax = function (e, n, i, o) { + return new t(e, n, i - e, o - n); + }), + (t.prototype.getClosestPointOnRectangleBorderToPoint = function (t) { + var e = new Vector2(0, 0), + n = new Vector2(0, 0); + if ( + ((n.x = MathHelper.clamp(t.x, this.left, this.right)), + (n.y = MathHelper.clamp(t.y, this.top, this.bottom)), + this.contains(n)) + ) { + var i = n.x - this.left, + o = this.right - n.x, + r = n.y - this.top, + s = this.bottom - n.y, + a = Math.min(i, o, r, s); + a == r + ? ((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 }; + }), + (t.prototype.calculateBounds = function (t, e, n, i, o, r, s) { + if (0 == o) + (this.x = t.x + e.x - n.x * i.x), + (this.y = t.y + e.y - n.y * i.y), + (this.width = r * i.x), + (this.height = s * i.y); + else { + var a = t.x + e.x, + h = t.y + e.y; + (this._transformMat = Matrix2D.createTranslation(-a - n.x, -h - n.y)), + (this._tempMat = Matrix2D.createScale(i.x, i.y)), + (this._transformMat = Matrix2D.multiply( + this._transformMat, + this._tempMat + )), + (this._tempMat = Matrix2D.createRotation(o)), + (this._transformMat = Matrix2D.multiply( + this._transformMat, + this._tempMat + )), + (this._tempMat = Matrix2D.createTranslation(a, h)), + (this._transformMat = Matrix2D.multiply( + this._transformMat, + this._tempMat + )); + var c = new Vector2(a, h), + u = new Vector2(a + r, h), + l = new Vector2(a, h + s), + p = new Vector2(a + r, h + s); + (c = Vector2Ext.transformR(c, this._transformMat)), + (u = Vector2Ext.transformR(u, this._transformMat)), + (l = Vector2Ext.transformR(l, this._transformMat)), + (p = Vector2Ext.transformR(p, this._transformMat)); + var f = Math.min(c.x, p.x, u.x, l.x), + d = Math.max(c.x, p.x, u.x, l.x), + y = Math.min(c.y, p.y, u.y, l.y), + g = Math.max(c.y, p.y, u.y, l.y); + (this.location = new Vector2(f, y)), + (this.width = d - f), + (this.height = g - y); + } + }), + (t.rectEncompassingPoints = function (t) { + for ( + var e = Number.POSITIVE_INFINITY, + n = Number.POSITIVE_INFINITY, + i = Number.NEGATIVE_INFINITY, + o = Number.NEGATIVE_INFINITY, + r = 0; + r < t.length; + r++ + ) { + var s = t[r]; + s.x < e && (e = s.x), + s.x > i && (i = s.x), + s.y < n && (n = s.y), + s.y > o && (o = s.y); + } + return this.fromMinMax(e, n, i, o); + }), + 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 + ); + })(), + 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++ + ) + for ( + var n = t[e], + i = Physics.boxcastBroadphase(n.bounds, n.collidesWithLayers), + o = function (t) { + var e = i[t]; + if (!n.isTrigger && !e.isTrigger) return "continue"; + if (n.overlaps(e)) { + var o = new Pair(n, e); + -1 == + r._activeTriggerIntersections.findIndex(function (t) { + return t.first == o.first && t.second == o.second; + }) && + -1 == + r._previousTriggerIntersections.findIndex(function (t) { + return t.first == o.first && t.second == o.second; + }) && + r.notifyTriggerListeners(o, !0), + r._activeTriggerIntersections.contains(o) || + r._activeTriggerIntersections.push(o); + } + }, + r = this, + s = 0; + s < i.length; + s++ + ) + o(s); + 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 Collisions = (function () { + function t() {} + return ( + (t.isLineToLine = function (t, e, n, i) { + var o = Vector2.subtract(e, t), + r = Vector2.subtract(i, n), + s = o.x * r.y - o.y * r.x; + if (0 == s) return !1; + var a = Vector2.subtract(n, t), + h = (a.x * r.y - a.y * r.x) / s; + if (h < 0 || h > 1) return !1; + var c = (a.x * o.y - a.y * o.x) / s; + return !(c < 0 || c > 1); + }), + (t.lineToLineIntersection = function (t, e, n, i) { + var o = new Vector2(0, 0), + r = Vector2.subtract(e, t), + s = Vector2.subtract(i, n), + a = r.x * s.y - r.y * s.x; + if (0 == a) return o; + var h = Vector2.subtract(n, t), + c = (h.x * s.y - h.y * s.x) / a; + if (c < 0 || c > 1) return o; + var u = (h.x * r.y - h.y * r.x) / a; + return u < 0 || u > 1 + ? o + : (o = Vector2.add(t, new Vector2(c * r.x, c * r.y))); + }), + (t.closestPointOnLine = function (t, e, n) { + var i = Vector2.subtract(e, t), + o = Vector2.subtract(n, t), + r = Vector2.dot(o, i) / Vector2.dot(i, i); + return ( + (r = MathHelper.clamp(r, 0, 1)), + Vector2.add(t, new Vector2(i.x * r, i.y * r)) + ); + }), + (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 = 0.5 * t.width, + o = 0.5 * t.height, + r = Math.max(0, Math.max(e.x - t.x) - i), + s = Math.max(0, Math.max(e.y - t.y) - o); + return r * r + s * s < n * n; + }), + (t.isRectToLine = function (t, e, n) { + var i = this.getSector(t.x, t.y, t.width, t.height, e), + o = this.getSector(t.x, t.y, t.width, t.height, n); + if (i == PointSectors.center || o == PointSectors.center) return !0; + if (0 != (i & o)) return !1; + var r = i | o, + s = void 0, + a = void 0; + return ( + !( + 0 == (r & 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 == (r & 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 == (r & 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 == (r & 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, o) { + return o.x >= t && o.y >= e && o.x < t + n && o.y < e + i; + }), + (t.getSector = function (t, e, n, i, o) { + var r = PointSectors.center; + return ( + o.x < t + ? (r |= PointSectors.left) + : o.x >= t + n && (r |= PointSectors.right), + o.y < e + ? (r |= PointSectors.top) + : o.y >= e + i && (r |= PointSectors.bottom), + r + ); + }), + 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) { + return ( + void 0 === e && (e = this.allLayers), + this._spatialHash.aabbBroadphase(t, null, e) + ); + }), + (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.spatialHashCellSize = 100), + (t.allLayers = -1), + t + ); + })(), + Shape = (function () { + return function () {}; + })(), + Polygon = (function (t) { + function e(e, n) { + var i = t.call(this) || this; + return ( + (i.isUnrotated = !0), + (i._areEdgeNormalsDirty = !0), + i.setPoints(e), + (i.isBox = n), + i + ); + } + return ( + __extends(e, t), + 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 o = Vector2Ext.perpendicular(i, t); + (o = Vector2.normalize(o)), (this._edgeNormals[n] = o); + } + }), + (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.getClosestPointOnPolygonToPoint = function (t, e) { + for ( + var n, + i = Number.MAX_VALUE, + o = new Vector2(0, 0), + r = new Vector2(0, 0), + s = 0; + s < t.length; + s++ + ) { + var a = s + 1; + a == t.length && (a = 0); + var h = ShapeCollisions.closestPointOnLine(t[s], t[a], e); + if ((n = Vector2.distanceSquared(e, h)) < i) { + (i = n), (r = h); + var c = Vector2.subtract(t[a], t[s]); + (o.x = -c.y), (o.y = c.x); + } + } + return { + closestPoint: r, + distanceSquared: i, + edgeNormal: (o = Vector2.normalize(o)), + }; + }), + (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 o = 2 * Math.PI * (i / t); + n[i] = new Vector2(Math.cos(o), Math.sin(o) * e); + } + return n; + }), + (e.prototype.recalculateBounds = function (t) { + if ( + ((this.center = t.localOffset), + t.shouldColliderScaleAndRotationWithTransform) + ) { + var e = !0, + n = void 0, + i = Matrix2D.createTranslation( + -this._polygonCenter.x, + -this._polygonCenter.y + ); + if (t.entity.scale != Vector2.one) { + (n = Matrix2D.createScale(t.entity.scale.x, t.entity.scale.y)), + (i = Matrix2D.multiply(i, n)), + (e = !1); + var o = Vector2.multiply(t.localOffset, t.entity.scale); + this.center = o; + } + if (0 != t.entity.rotation) { + (n = Matrix2D.createRotation(t.entity.rotation)), + (i = Matrix2D.multiply(i, n)); + var r = + Math.atan2(t.localOffset.y, t.localOffset.x) * + MathHelper.Rad2Deg, + s = e + ? t._localOffsetLength + : Vector2.multiply(t.localOffset, t.entity.scale).length(); + this.center = MathHelper.pointOnCirlce( + Vector2.zero, + s, + MathHelper.toDegrees(t.entity.rotation) + r + ); + } + (n = Matrix2D.createTranslation( + this._polygonCenter.x, + this._polygonCenter.y + )), + (i = Matrix2D.multiply(i, n)), + Vector2Ext.transform(this._originalPoints, i, this.points), + (this.isUnrotated = 0 == t.entity.rotation), + t._isRotationDirty && (this._areEdgeNormalsDirty = !0); + } + (this.position = Vector2.add(t.entity.position, this.center)), + (this.bounds = Rectangle.rectEncompassingPoints(this.points)), + (this.bounds.location = Vector2.add( + this.bounds.location, + this.position + )); + }), + e + ); + })(Shape), + Box = (function (t) { + function e(n, i) { + var o = t.call(this, e.buildBox(n, i), !0) || this; + return (o.width = n), (o.height = i), o; + } + return ( + __extends(e, t), + (e.buildBox = function (t, e) { + var n = t / 2, + i = e / 2, + o = new Array(4); + return ( + (o[0] = new Vector2(-n, -i)), + (o[1] = new Vector2(n, -i)), + (o[2] = new Vector2(n, i)), + (o[3] = new Vector2(-n, i)), + o + ); + }), + (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 o = 0; o < this.points.length; o++) + this._originalPoints[o] = this.points[o]; + }), + (e.prototype.containsPoint = function (e) { + return this.isUnrotated + ? this.bounds.contains(e) + : t.prototype.containsPoint.call(this, e); + }), + e + ); + })(Polygon), + Circle = (function (t) { + function e(e) { + var n = t.call(this) || this; + return (n.radius = e), (n._originalRadius = e), n; + } + return ( + __extends(e, t), + (e.prototype.pointCollidesWithShape = function (t) { + return ShapeCollisions.pointToCircle(t, this); + }), + (e.prototype.collidesWithShape = function (t) { + if (t instanceof Box && t.isUnrotated) + 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.recalculateBounds = function (t) { + if ( + ((this.center = t.localOffset), + t.shouldColliderScaleAndRotationWithTransform) + ) { + var e = t.entity.scale, + n = 1 == e.x && 1 == e.y, + i = Math.max(e.x, e.y); + if ( + ((this.radius = this._originalRadius * i), 0 != t.entity.rotation) + ) { + var o = + Math.atan2(t.localOffset.y, t.localOffset.x) * + MathHelper.Rad2Deg, + r = n + ? t._localOffsetLength + : Vector2.multiply(t.localOffset, t.entity.scale).length(); + this.center = MathHelper.pointOnCirlce( + Vector2.zero, + r, + MathHelper.toDegrees(t.entity.rotation) + o + ); + } + } + (this.position = Vector2.add(t.entity.position, this.center)), + (this.bounds = new Rectangle( + this.position.x - this.radius, + this.position.y - this.radius, + 2 * this.radius, + 2 * this.radius + )); + }), + (e.prototype.overlaps = function (t) { + if (t instanceof Box && t.isUnrotated) + 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() {} + 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(), + o = !0, + r = t.edgeNormals, + s = e.edgeNormals, + a = Number.POSITIVE_INFINITY, + h = new Vector2(), + c = Vector2.subtract(t.position, e.position), + u = 0; + u < r.length + s.length; + u++ + ) { + n = u < r.length ? r[u] : s[u - r.length]; + var l = 0, + p = 0, + f = 0, + d = 0, + y = 0, + g = this.getInterval(n, t, l, f); + (l = g.min), (p = g.max); + var m = this.getInterval(n, e, p, d); + (p = m.min), (d = m.max); + var _ = Vector2.dot(c, n); + if ( + ((l += _), + (f += _), + (y = this.intervalDistance(l, f, p, d)) > 0 && (o = !1), + !o) + ) + return null; + (y = Math.abs(y)) < a && + ((a = y), (h = n), Vector2.dot(h, c) < 0 && (h = new Vector2(-h))); + } + return ( + (i.normal = h), + (i.minimumTranslationVector = Vector2.multiply( + new Vector2(-h), + 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 o = Vector2.dot(e.points[0], t); + n = i = o; + for (var r = 1; r < e.points.length; r++) + (o = Vector2.dot(e.points[r], t)) < n ? (n = o) : o > i && (i = o); + return { min: n, max: i }; + }), + (t.circleToPolygon = function (t, e) { + var n = new CollisionResult(), + i = Vector2.subtract(t.position, e.position), + o = Polygon.getClosestPointOnPolygonToPoint(e.points, i), + r = o.closestPoint, + s = o.distanceSquared; + n.normal = o.edgeNormal; + var a, + h = e.containsPoint(t.position); + if (s > t.radius * t.radius && !h) return null; + if (h) + 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 c = Math.sqrt(s); + a = Vector2.multiply( + new Vector2(-Vector2.subtract(i, r)), + new Vector2((t.radius - s) / c) + ); + } + return ( + (n.minimumTranslationVector = a), + (n.point = Vector2.add(r, 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 o = Vector2.add( + i, + Vector2.subtract(n.normal, new Vector2(t.radius)) + ); + return ( + (n.minimumTranslationVector = Vector2.subtract(t.position, o)), n + ); + } + var r = Vector2.distanceSquared(i, t.position); + if (0 == r) + n.minimumTranslationVector = Vector2.multiply( + n.normal, + new Vector2(t.radius) + ); + else if (r <= 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), + o = 1 + e.radius; + if (i < o * o) { + n.normal = Vector2.normalize(Vector2.subtract(t, e.position)); + var r = o - Math.sqrt(i); + return ( + (n.minimumTranslationVector = Vector2.multiply( + new Vector2(-r, -r), + 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), + o = Vector2.subtract(n, t), + r = Vector2.dot(o, i) / Vector2.dot(i, i); + return ( + (r = MathHelper.clamp(r, 0, 1)), + Vector2.add(t, Vector2.multiply(i, new Vector2(r, r))) + ); + }), + (t.pointToPoly = function (t, e) { + var n = new CollisionResult(); + if (e.containsPoint(t)) { + var i, + o = Polygon.getClosestPointOnPolygonToPoint( + e.points, + Vector2.subtract(t, e.position) + ), + r = o.closestPoint; + return ( + (i = o.distanceSquared), + (n.normal = o.edgeNormal), + (n.minimumTranslationVector = Vector2.multiply( + n.normal, + new Vector2(Math.sqrt(i), Math.sqrt(i)) + )), + (n.point = Vector2.add(r, e.position)), + n + ); + } + return null; + }), + (t.circleToCircle = function (t, e) { + var n = new CollisionResult(), + i = Vector2.distanceSquared(t.position, e.position), + o = t.radius + e.radius; + if (i < o * o) { + n.normal = Vector2.normalize( + Vector2.subtract(t.position, e.position) + ); + var r = o - Math.sqrt(i); + return ( + (n.minimumTranslationVector = Vector2.multiply( + new Vector2(-r), + n.normal + )), + (n.point = Vector2.add( + e.position, + Vector2.multiply(n.normal, new Vector2(e.radius)) + )), + n + ); + } + return null; + }), + t + ); + })(), + SpatialHash = (function () { + function t(t) { + void 0 === t && (t = 100), + (this.gridBounds = new Rectangle()), + (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), + o = n.x; + o <= i.x; + o++ + ) + for (var r = n.y; r <= i.y; r++) { + var s = this.cellAtPosition(o, r); + 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(new Vector2(n.x, n.y)) || + (this.gridBounds = RectangleExt.union(this.gridBounds, n)), + this.gridBounds.contains(new Vector2(i.x, i.y)) || (this.gridBounds = RectangleExt.union(this.gridBounds, i)); - for (var o = n.x; o <= i.x; o++) - for (var r = n.y; r <= i.y; r++) { - this.cellAtPosition(o, r, !0).push(t) - } - }, t.prototype.clear = function() { - this._cellDict.clear() - }, t.prototype.overlapCircle = function(t, e, n, i) { - var o = new Rectangle(t.x - e, t.y - e, 2 * e, 2 * e); - this._overlapTestCircle.radius = e, this._overlapTestCircle.position = t; - for (var r = 0, s = this.aabbBroadphase(o, null, i), a = 0; a < s.length; - a++) { - var h = s[a]; - if (!(h instanceof BoxCollider)) - throw new Error( - "overlapCircle against this collider type is not implemented!"); - if (n[r] = h, ++r == n.length) - return r - } - return r - }, t.prototype.aabbBroadphase = function(t, e, n) { - this._tempHashSet.length = 0; - for (var i = this.cellCoords(t.x, t.y), - o = this.cellCoords(t.right, t.bottom), r = i.x; - r <= o.x; r++) - for (var s = i.y; s <= o.y; s++) { - var a = this.cellAtPosition(r, s); - if (a) - for (var h = 0; h < a.length; h++) { - var c = a[h]; - c != e && Flags.isFlagSet(n, c.physicsLayer) && - (t.intersects(c.bounds) && -1 == this._tempHashSet.indexOf(c) && - this._tempHashSet.push(c)) + for (var o = n.x; o <= i.x; o++) + for (var r = n.y; r <= i.y; r++) { + this.cellAtPosition(o, r, !0).push(t); } - } - return this._tempHashSet - }, 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 Point(Math.floor(t * this._inverseCellSize), - Math.floor(e * this._inverseCellSize)) - }, 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(this.intToUint(e)).toString() - }, - t.prototype.intToUint = function(t) { return t >= 0 ? t : 4294967296 + t }, - 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 -}(), 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, o) { - var r = n.loadedAssets.get(t); - r ? i(r) - : e ? RES.getResAsync(t) - .then(function(e) { n.loadedAssets.set(t, e), i(e) }) - .catch(function( - e) { console.error("资源加载错误:", t, e), o(e) }) - : RES.getResByUrl(t) - .then(function(e) { n.loadedAssets.set(t, e), i(e) }) - .catch(function( - e) { console.error("资源加载错误:", t, e), o(e) }) - }) - }, t.prototype.dispose = function() { - this.loadedAssets.forEach(function(t) { t.dispose() }), - this.loadedAssets.clear() - }, t -}(), Emitter = function() { - function t() { this._messageTable = new Map } - return t.prototype.addObserver = function(t, e) { - var n = this._messageTable.get(t); - n || (n = [], this._messageTable.set(t, n)), - n.contains(e) && console.warn("您试图添加相同的观察者两次"), n.push(e) - }, t.prototype.removeObserver = function(t, e) { - this._messageTable.get(t).remove(e) - }, 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](e) - }, t -}(), 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 -}(), 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 -}(), 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 -}(), RectangleExt = function() { - function t() {} - return t.union = function(t, e) { - var n = new Rectangle(e.x, e.y, 0, 0); - return this.unionR(t, n) - }, t.unionR = function(t, e) { - var n = new Rectangle; - return n.x = Math.min(t.x, e.x), n.y = Math.min(t.y, e.y), - n.width = Math.max(t.right, e.right) - n.x, - n.height = Math.max(t.bottom, e.bottom) - n.y, n - }, 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 o = 0, r = 0; i > 3 && o < 500;) { - o++; - var s = !0, a = e[this._triPrev[r]], h = e[r], c = e[this._triNext[r]]; - if (Vector2Ext.isTriangleCCW(a, h, c)) { - var u = this._triNext[this._triNext[r]]; - do { - if (t.testPointTriangle(e[u], a, h, c)) { - s = !1; - break + }), + (t.prototype.clear = function () { + this._cellDict.clear(); + }), + (t.prototype.overlapCircle = function (t, e, n, i) { + var o = new Rectangle(t.x - e, t.y - e, 2 * e, 2 * e); + (this._overlapTestCircle.radius = e), + (this._overlapTestCircle.position = t); + for ( + var r = 0, s = this.aabbBroadphase(o, null, i), a = 0; + a < s.length; + a++ + ) { + var h = s[a]; + if (!(h instanceof BoxCollider)) + throw new Error( + "overlapCircle against this collider type is not implemented!" + ); + if (((n[r] = h), ++r == n.length)) return r; + } + return r; + }), + (t.prototype.aabbBroadphase = function (t, e, n) { + this._tempHashSet.length = 0; + for ( + var i = this.cellCoords(t.x, t.y), + o = this.cellCoords(t.right, t.bottom), + r = i.x; + r <= o.x; + r++ + ) + for (var s = i.y; s <= o.y; s++) { + var a = this.cellAtPosition(r, s); + if (a) + for (var h = 0; h < a.length; h++) { + var c = a[h]; + c != e && + Flags.isFlagSet(n, c.physicsLayer) && + t.intersects(c.bounds) && + -1 == this._tempHashSet.indexOf(c) && + this._tempHashSet.push(c); + } } - u = this._triNext[u] - } while (u != this._triPrev[r]) - } else - s = !1; - s ? (this.triangleIndices.push(this._triPrev[r]), - this.triangleIndices.push(r), - this.triangleIndices.push(this._triNext[r]), - this._triNext[this._triPrev[r]] = this._triNext[r], - this._triPrev[this._triNext[r]] = this._triPrev[r], i--, - r = this._triPrev[r]) - : r = this._triNext[r] + return this._tempHashSet; + }), + (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 Point( + Math.floor(t * this._inverseCellSize), + Math.floor(e * this._inverseCellSize) + ); + }), + t + ); + })(), + RaycastResultParser = (function () { + return function () {}; + })(), + NumberDictionary = (function () { + function t() { + this._store = new Map(); } - this.triangleIndices.push(this._triPrev[r]), this.triangleIndices.push(r), - this.triangleIndices.push(this._triNext[r]), - 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, o, r) { - for (var s = 0; s < r; s++) { - var a = t[e + s], h = i[o + s]; - h.x = a.x * n.m11 + a.y * n.m21 + n.m31, - h.y = a.x * n.m12 + a.y * n.m22 + n.m32, i[o + s] = h - } - }, 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 -}(); \ No newline at end of file + return ( + (t.prototype.getKey = function (t, e) { + return Long.fromNumber(t) + .shiftLeft(32) + .or(this.intToUint(e)) + .toString(); + }), + (t.prototype.intToUint = function (t) { + return t >= 0 ? t : 4294967296 + t; + }), + (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 + ); + })(), + 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, o) { + var r = n.loadedAssets.get(t); + r + ? i(r) + : e + ? RES.getResAsync(t) + .then(function (e) { + n.loadedAssets.set(t, e), i(e); + }) + .catch(function (e) { + console.error("资源加载错误:", t, e), o(e); + }) + : RES.getResByUrl(t) + .then(function (e) { + n.loadedAssets.set(t, e), i(e); + }) + .catch(function (e) { + console.error("资源加载错误:", t, e), o(e); + }); + }) + ); + }), + (t.prototype.dispose = function () { + this.loadedAssets.forEach(function (t) { + t.dispose(); + }), + this.loadedAssets.clear(); + }), + t + ); + })(), + Emitter = (function () { + function t() { + this._messageTable = new Map(); + } + return ( + (t.prototype.addObserver = function (t, e) { + var n = this._messageTable.get(t); + n || ((n = []), this._messageTable.set(t, n)), + n.contains(e) && console.warn("您试图添加相同的观察者两次"), + n.push(e); + }), + (t.prototype.removeObserver = function (t, e) { + this._messageTable.get(t).remove(e); + }), + (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](e); + }), + t + ); + })(), + 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 + ); + })(), + 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 + ); + })(), + 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 + ); + })(), + RectangleExt = (function () { + function t() {} + return ( + (t.union = function (t, e) { + var n = new Rectangle(e.x, e.y, 0, 0); + return this.unionR(t, n); + }), + (t.unionR = function (t, e) { + var n = new Rectangle(); + return ( + (n.x = Math.min(t.x, e.x)), + (n.y = Math.min(t.y, e.y)), + (n.width = Math.max(t.right, e.right) - n.x), + (n.height = Math.max(t.bottom, e.bottom) - n.y), + n + ); + }), + 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 o = 0, r = 0; i > 3 && o < 500; ) { + o++; + var s = !0, + a = e[this._triPrev[r]], + h = e[r], + c = e[this._triNext[r]]; + if (Vector2Ext.isTriangleCCW(a, h, c)) { + var u = this._triNext[this._triNext[r]]; + do { + if (t.testPointTriangle(e[u], a, h, c)) { + s = !1; + break; + } + u = this._triNext[u]; + } while (u != this._triPrev[r]); + } else s = !1; + s + ? (this.triangleIndices.push(this._triPrev[r]), + this.triangleIndices.push(r), + this.triangleIndices.push(this._triNext[r]), + (this._triNext[this._triPrev[r]] = this._triNext[r]), + (this._triPrev[this._triNext[r]] = this._triPrev[r]), + i--, + (r = this._triPrev[r])) + : (r = this._triNext[r]); + } + this.triangleIndices.push(this._triPrev[r]), + this.triangleIndices.push(r), + this.triangleIndices.push(this._triNext[r]), + 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, o, r) { + for (var s = 0; s < r; s++) { + var a = t[e + s], + h = i[o + s]; + (h.x = a.x * n.m11 + a.y * n.m21 + n.m31), + (h.y = a.x * n.m12 + a.y * n.m22 + n.m32), + (i[o + s] = h); + } + }), + (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 + ); + })(); diff --git a/source/bin/framework.js b/source/bin/framework.js index d1c2f5ea..d970796c 100644 --- a/source/bin/framework.js +++ b/source/bin/framework.js @@ -1,134 +1,155 @@ -var __extends = (this && this.__extends) || (function() { - var extendStatics = Object.setPrototypeOf || - ({__proto__ : []} instanceof Array && - function(d, b) { d.__proto__ = b; }) || - function(d, b) { - for (var p in b) - if (b.hasOwnProperty(p)) - d[p] = b[p]; - }; - return function(d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null - ? Object.create(b) - : (__.prototype = b.prototype, new __()); - }; - })(); -var __awaiter = - (this && this.__awaiter) || function(thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) - : new P(function(resolve) { resolve(result.value); }) - .then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; -var __generator = (this && this.__generator) || function(thisArg, body) { - var _ = { - label : 0, - sent : function() { - if (t[0] & 1) - throw t[1]; - return t[1]; - }, - trys : [], - ops : [] - }, - f, y, t, g; - return g = {next : verb(0), "throw" : verb(1), "return" : verb(2)}, - typeof Symbol === "function" && - (g[Symbol.iterator] = function() { return this; }), - g; - function verb(n) { - return function(v) { return step([ n, v ]); }; - } - function step(op) { - if (f) - throw new TypeError("Generator is already executing."); - while (_) - try { - if (f = 1, - y && - (t = op[0] & 2 ? y["return"] - : op[0] ? y["throw"] || - ((t = y["return"]) && t.call(y), 0) - : y.next) && - !(t = t.call(y, op[1])).done) - return t; - if (y = 0, t) - op = [ op[0] & 2, t.value ]; - switch (op[0]) { - case 0: - case 1: - t = op; - break; - case 4: - _.label++; - return {value : op[1], done : false}; - case 5: - _.label++; - y = op[1]; - op = [ 0 ]; - continue; - case 7: - op = _.ops.pop(); - _.trys.pop(); - continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && - (op[0] === 6 || op[0] === 2)) { - _ = 0; - continue; - } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { - _.label = op[1]; - break; - } - if (op[0] === 6 && _.label < t[1]) { - _.label = t[1]; - t = op; - break; - } - if (t && _.label < t[2]) { - _.label = t[2]; - _.ops.push(op); - break; - } - if (t[2]) - _.ops.pop(); - _.trys.pop(); - continue; - } - op = body.call(thisArg, _); - } catch (e) { - op = [ 6, e ]; - y = 0; - } finally { - f = t = 0; +var __extends = + (this && this.__extends) || + (function () { + var extendStatics = + Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && + function (d, b) { + d.__proto__ = b; + }) || + function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + }; + return function (d, b) { + extendStatics(d, b); + function __() { + this.constructor = d; } - if (op[0] & 5) - throw op[1]; - return {value : op[0] ? op[1] : void 0, done : true}; - } -}; -Array.prototype.findIndex = function(predicate) { + d.prototype = + b === null + ? Object.create(b) + : ((__.prototype = b.prototype), new __()); + }; + })(); +var __awaiter = + (this && this.__awaiter) || + function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done + ? resolve(result.value) + : new P(function (resolve) { + resolve(result.value); + }).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; +var __generator = + (this && this.__generator) || + function (thisArg, body) { + var _ = { + label: 0, + sent: function () { + if (t[0] & 1) throw t[1]; + return t[1]; + }, + trys: [], + ops: [], + }, + f, + y, + t, + g; + return ( + (g = { next: verb(0), throw: verb(1), return: verb(2) }), + typeof Symbol === "function" && + (g[Symbol.iterator] = function () { + return this; + }), + g + ); + function verb(n) { + return function (v) { + return step([n, v]); + }; + } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) + try { + if ( + ((f = 1), + y && + (t = + op[0] & 2 + ? y["return"] + : op[0] + ? y["throw"] || ((t = y["return"]) && t.call(y), 0) + : y.next) && + !(t = t.call(y, op[1])).done) + ) + return t; + if (((y = 0), t)) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: + case 1: + t = op; + break; + case 4: + _.label++; + return { value: op[1], done: false }; + case 5: + _.label++; + y = op[1]; + op = [0]; + continue; + case 7: + op = _.ops.pop(); + _.trys.pop(); + continue; + default: + if ( + !((t = _.trys), (t = t.length > 0 && t[t.length - 1])) && + (op[0] === 6 || op[0] === 2) + ) { + _ = 0; + continue; + } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { + _.label = op[1]; + break; + } + if (op[0] === 6 && _.label < t[1]) { + _.label = t[1]; + t = op; + break; + } + if (t && _.label < t[2]) { + _.label = t[2]; + _.ops.push(op); + break; + } + if (t[2]) _.ops.pop(); + _.trys.pop(); + continue; + } + op = body.call(thisArg, _); + } catch (e) { + op = [6, e]; + y = 0; + } finally { + f = t = 0; + } + if (op[0] & 5) throw op[1]; + return { value: op[0] ? op[1] : void 0, done: true }; + } + }; +Array.prototype.findIndex = function (predicate) { function findIndex(array, predicate) { for (var i = 0, len = array.length; i < len; i++) { if (predicate.call(arguments[2], array[i], i, array)) { @@ -139,25 +160,29 @@ Array.prototype.findIndex = function(predicate) { } return findIndex(this, predicate); }; -Array.prototype.any = function(predicate) { - function any(array, predicate) { return array.findIndex(predicate) > -1; } +Array.prototype.any = function (predicate) { + function any(array, predicate) { + return array.findIndex(predicate) > -1; + } return any(this, predicate); }; -Array.prototype.firstOrDefault = function(predicate) { +Array.prototype.firstOrDefault = function (predicate) { function firstOrDefault(array, predicate) { var index = array.findIndex(predicate); return index == -1 ? null : array[index]; } return firstOrDefault(this, predicate); }; -Array.prototype.find = function(predicate) { - function find(array, predicate) { return array.firstOrDefault(predicate); } +Array.prototype.find = function (predicate) { + function find(array, predicate) { + return array.firstOrDefault(predicate); + } return find(this, predicate); }; -Array.prototype.where = function(predicate) { +Array.prototype.where = function (predicate) { function where(array, predicate) { - if (typeof (array.reduce) === "function") { - return array.reduce(function(ret, element, index) { + if (typeof array.reduce === "function") { + return array.reduce(function (ret, element, index) { if (predicate.call(arguments[2], element, index, array)) { ret.push(element); } @@ -176,15 +201,19 @@ Array.prototype.where = function(predicate) { } return where(this, predicate); }; -Array.prototype.count = function(predicate) { - function count(array, predicate) { return array.where(predicate).length; } +Array.prototype.count = function (predicate) { + function count(array, predicate) { + return array.where(predicate).length; + } return count(this, predicate); }; -Array.prototype.findAll = function(predicate) { - function findAll(array, predicate) { return array.where(predicate); } +Array.prototype.findAll = function (predicate) { + function findAll(array, predicate) { + return array.where(predicate); + } return findAll(this, predicate); }; -Array.prototype.contains = function(value) { +Array.prototype.contains = function (value) { function contains(array, value) { for (var i = 0, len = array.length; i < len; i++) { if (array[i] == value) { @@ -195,7 +224,7 @@ Array.prototype.contains = function(value) { } return contains(this, value); }; -Array.prototype.removeAll = function(predicate) { +Array.prototype.removeAll = function (predicate) { function removeAll(array, predicate) { var index; do { @@ -207,9 +236,11 @@ Array.prototype.removeAll = function(predicate) { } removeAll(this, predicate); }; -Array.prototype.remove = function(element) { +Array.prototype.remove = function (element) { function remove(array, element) { - var index = array.findIndex(function(x) { return x === element; }); + var index = array.findIndex(function (x) { + return x === element; + }); if (index >= 0) { array.splice(index, 1); return true; @@ -219,18 +250,22 @@ Array.prototype.remove = function(element) { } return remove(this, element); }; -Array.prototype.removeAt = function(index) { - function removeAt(array, index) { array.splice(index, 1); } +Array.prototype.removeAt = function (index) { + function removeAt(array, index) { + array.splice(index, 1); + } return removeAt(this, index); }; -Array.prototype.removeRange = function(index, count) { - function removeRange(array, index, count) { array.splice(index, count); } +Array.prototype.removeRange = function (index, count) { + function removeRange(array, index, count) { + array.splice(index, count); + } return removeRange(this, index, count); }; -Array.prototype.select = function(selector) { +Array.prototype.select = function (selector) { function select(array, selector) { - if (typeof (array.reduce) === "function") { - return array.reduce(function(ret, element, index) { + if (typeof array.reduce === "function") { + return array.reduce(function (ret, element, index) { ret.push(selector.call(arguments[2], element, index, array)); return ret; }, []); @@ -244,44 +279,47 @@ Array.prototype.select = function(selector) { } return select(this, selector); }; -Array.prototype.orderBy = function(keySelector, comparer) { +Array.prototype.orderBy = function (keySelector, comparer) { function orderBy(array, keySelector, comparer) { - array.sort(function(x, y) { + array.sort(function (x, y) { var v1 = keySelector(x); var v2 = keySelector(y); if (comparer) { return comparer(v1, v2); } else { - return (v1 > v2) ? 1 : -1; + return v1 > v2 ? 1 : -1; } }); return array; } return orderBy(this, keySelector, comparer); }; -Array.prototype.orderByDescending = function(keySelector, comparer) { +Array.prototype.orderByDescending = function (keySelector, comparer) { function orderByDescending(array, keySelector, comparer) { - array.sort(function(x, y) { + array.sort(function (x, y) { var v1 = keySelector(x); var v2 = keySelector(y); if (comparer) { return -comparer(v1, v2); } else { - return (v1 < v2) ? 1 : -1; + return v1 < v2 ? 1 : -1; } }); return array; } return orderByDescending(this, keySelector, comparer); }; -Array.prototype.groupBy = function(keySelector) { +Array.prototype.groupBy = function (keySelector) { function groupBy(array, keySelector) { - if (typeof (array.reduce) === "function") { + if (typeof array.reduce === "function") { var keys_1 = []; - return array.reduce(function(groups, element, index) { + return array.reduce(function (groups, element, index) { var key = JSON.stringify( - keySelector.call(arguments[1], element, index, array)); - var index2 = keys_1.findIndex(function(x) { return x === key; }); + keySelector.call(arguments[1], element, index, array) + ); + var index2 = keys_1.findIndex(function (x) { + return x === key; + }); if (index2 < 0) { index2 = keys_1.push(key) - 1; } @@ -294,10 +332,13 @@ Array.prototype.groupBy = function(keySelector) { } else { var groups = []; var keys = []; - var _loop_1 = function(i, len) { + var _loop_1 = function (i, len) { var key = JSON.stringify( - keySelector.call(arguments_1[1], array[i], i, array)); - var index = keys.findIndex(function(x) { return x === key; }); + keySelector.call(arguments_1[1], array[i], i, array) + ); + var index = keys.findIndex(function (x) { + return x === key; + }); if (index < 0) { index = keys.push(key) - 1; } @@ -315,7 +356,7 @@ Array.prototype.groupBy = function(keySelector) { } return groupBy(this, keySelector); }; -Array.prototype.sum = function(selector) { +Array.prototype.sum = function (selector) { function sum(array, selector) { var ret; for (var i = 0, len = array.length; i < len; i++) { @@ -337,17 +378,17 @@ Array.prototype.sum = function(selector) { } return sum(this, selector); }; -var PriorityQueueNode = (function() { +var PriorityQueueNode = (function () { function PriorityQueueNode() { this.priority = 0; this.insertionIndex = 0; this.queueIndex = 0; } return PriorityQueueNode; -}()); -var AStarPathfinder = (function() { +})(); +var AStarPathfinder = (function () { function AStarPathfinder() {} - AStarPathfinder.search = function(graph, start, goal) { + AStarPathfinder.search = function (graph, start, goal) { var _this = this; var foundPath = false; var cameFrom = new Map(); @@ -356,15 +397,15 @@ var AStarPathfinder = (function() { var frontier = new PriorityQueue(1000); frontier.enqueue(new AStarNode(start), 0); costSoFar.set(start, 0); - var _loop_2 = function() { + var _loop_2 = function () { var current = frontier.dequeue(); if (JSON.stringify(current.data) == JSON.stringify(goal)) { foundPath = true; return "break"; } - graph.getNeighbors(current.data).forEach(function(next) { + graph.getNeighbors(current.data).forEach(function (next) { var newCost = - costSoFar.get(current.data) + graph.cost(current.data, next); + costSoFar.get(current.data) + graph.cost(current.data, next); if (!_this.hasKey(costSoFar, next) || newCost < costSoFar.get(next)) { costSoFar.set(next, newCost); var priority = newCost + graph.heuristic(next, goal); @@ -375,32 +416,29 @@ var AStarPathfinder = (function() { }; while (frontier.count > 0) { var state_1 = _loop_2(); - if (state_1 === "break") - break; + if (state_1 === "break") break; } return foundPath ? this.recontructPath(cameFrom, start, goal) : null; }; - AStarPathfinder.hasKey = function(map, compareKey) { + AStarPathfinder.hasKey = function (map, compareKey) { var iterator = map.keys(); var r; - while (r = iterator.next(), !r.done) { - if (JSON.stringify(r.value) == JSON.stringify(compareKey)) - return true; + while (((r = iterator.next()), !r.done)) { + if (JSON.stringify(r.value) == JSON.stringify(compareKey)) return true; } return false; }; - AStarPathfinder.getKey = function(map, compareKey) { + AStarPathfinder.getKey = function (map, compareKey) { var iterator = map.keys(); var valueIterator = map.values(); var r; var v; - while (r = iterator.next(), v = valueIterator.next(), !r.done) { - if (JSON.stringify(r.value) == JSON.stringify(compareKey)) - return v.value; + while (((r = iterator.next()), (v = valueIterator.next()), !r.done)) { + if (JSON.stringify(r.value) == JSON.stringify(compareKey)) return v.value; } return null; }; - AStarPathfinder.recontructPath = function(cameFrom, start, goal) { + AStarPathfinder.recontructPath = function (cameFrom, start, goal) { var path = []; var current = goal; path.push(goal); @@ -412,8 +450,8 @@ var AStarPathfinder = (function() { return path; }; return AStarPathfinder; -}()); -var AStarNode = (function(_super) { +})(); +var AStarNode = (function (_super) { __extends(AStarNode, _super); function AStarNode(data) { var _this = _super.call(this) || this; @@ -421,11 +459,14 @@ var AStarNode = (function(_super) { return _this; } return AStarNode; -}(PriorityQueueNode)); -var AstarGridGraph = (function() { +})(PriorityQueueNode); +var AstarGridGraph = (function () { function AstarGridGraph(width, height) { this.dirs = [ - new Point(1, 0), new Point(0, -1), new Point(-1, 0), new Point(0, 1) + new Point(1, 0), + new Point(0, -1), + new Point(-1, 0), + new Point(0, 1), ]; this.walls = []; this.weightedNodes = []; @@ -435,55 +476,65 @@ var AstarGridGraph = (function() { this._width = width; this._height = height; } - AstarGridGraph.prototype.isNodeInBounds = function(node) { - return 0 <= node.x && node.x < this._width && 0 <= node.y && - node.y < this._height; + AstarGridGraph.prototype.isNodeInBounds = function (node) { + return ( + 0 <= node.x && + node.x < this._width && + 0 <= node.y && + node.y < this._height + ); }; - AstarGridGraph.prototype.isNodePassable = function(node) { - return !this.walls.firstOrDefault(function( - wall) { return JSON.stringify(wall) == JSON.stringify(node); }); + AstarGridGraph.prototype.isNodePassable = function (node) { + return !this.walls.firstOrDefault(function (wall) { + return JSON.stringify(wall) == JSON.stringify(node); + }); }; - AstarGridGraph.prototype.search = function( - start, goal) { return AStarPathfinder.search(this, start, goal); }; - AstarGridGraph.prototype.getNeighbors = function(node) { + AstarGridGraph.prototype.search = function (start, goal) { + return AStarPathfinder.search(this, start, goal); + }; + AstarGridGraph.prototype.getNeighbors = function (node) { var _this = this; this._neighbors.length = 0; - this.dirs.forEach(function(dir) { + this.dirs.forEach(function (dir) { var next = new Point(node.x + dir.x, node.y + dir.y); if (_this.isNodeInBounds(next) && _this.isNodePassable(next)) _this._neighbors.push(next); }); return this._neighbors; }; - AstarGridGraph.prototype.cost = function(from, to) { - return this.weightedNodes.find(function( - p) { return JSON.stringify(p) == JSON.stringify(to); }) - ? this.weightedNodeWeight - : this.defaultWeight; + AstarGridGraph.prototype.cost = function (from, to) { + return this.weightedNodes.find(function (p) { + return JSON.stringify(p) == JSON.stringify(to); + }) + ? this.weightedNodeWeight + : this.defaultWeight; + }; + AstarGridGraph.prototype.heuristic = function (node, goal) { + return Math.abs(node.x - goal.x) + Math.abs(node.y - goal.y); }; - AstarGridGraph.prototype.heuristic = function( - node, - goal) { return Math.abs(node.x - goal.x) + Math.abs(node.y - goal.y); }; return AstarGridGraph; -}()); -var PriorityQueue = (function() { +})(); +var PriorityQueue = (function () { function PriorityQueue(maxNodes) { this._numNodes = 0; this._nodes = new Array(maxNodes + 1); this._numNodesEverEnqueued = 0; } - PriorityQueue.prototype.clear = function() { + PriorityQueue.prototype.clear = function () { this._nodes.splice(1, this._numNodes); this._numNodes = 0; }; Object.defineProperty(PriorityQueue.prototype, "count", { - get : function() { return this._numNodes; }, - enumerable : true, - configurable : true + get: function () { + return this._numNodes; + }, + enumerable: true, + configurable: true, }); - PriorityQueue.prototype.contains = function( - node) { return (this._nodes[node.queueIndex] == node); }; - PriorityQueue.prototype.enqueue = function(node, priority) { + PriorityQueue.prototype.contains = function (node) { + return this._nodes[node.queueIndex] == node; + }; + PriorityQueue.prototype.enqueue = function (node, priority) { node.priority = priority; this._numNodes++; this._nodes[this._numNodes] = node; @@ -491,12 +542,12 @@ var PriorityQueue = (function() { node.insertionIndex = this._numNodesEverEnqueued++; this.cascadeUp(this._nodes[this._numNodes]); }; - PriorityQueue.prototype.dequeue = function() { + PriorityQueue.prototype.dequeue = function () { var returnMe = this._nodes[1]; this.remove(returnMe); return returnMe; }; - PriorityQueue.prototype.remove = function(node) { + PriorityQueue.prototype.remove = function (node) { if (node.queueIndex == this._numNodes) { this._nodes[this._numNodes] = null; this._numNodes--; @@ -508,25 +559,28 @@ var PriorityQueue = (function() { this._numNodes--; this.onNodeUpdated(formerLastNode); }; - PriorityQueue.prototype.isValidQueue = function() { + PriorityQueue.prototype.isValidQueue = function () { for (var i = 1; i < this._nodes.length; i++) { if (this._nodes[i]) { var childLeftIndex = 2 * i; - if (childLeftIndex < this._nodes.length && - this._nodes[childLeftIndex] && - this.hasHigherPriority(this._nodes[childLeftIndex], this._nodes[i])) + if ( + childLeftIndex < this._nodes.length && + this._nodes[childLeftIndex] && + this.hasHigherPriority(this._nodes[childLeftIndex], this._nodes[i]) + ) return false; var childRightIndex = childLeftIndex + 1; - if (childRightIndex < this._nodes.length && - this._nodes[childRightIndex] && - this.hasHigherPriority(this._nodes[childRightIndex], - this._nodes[i])) + if ( + childRightIndex < this._nodes.length && + this._nodes[childRightIndex] && + this.hasHigherPriority(this._nodes[childRightIndex], this._nodes[i]) + ) return false; } } return true; }; - PriorityQueue.prototype.onNodeUpdated = function(node) { + PriorityQueue.prototype.onNodeUpdated = function (node) { var parentIndex = Math.floor(node.queueIndex / 2); var parentNode = this._nodes[parentIndex]; if (parentIndex > 0 && this.hasHigherPriority(node, parentNode)) { @@ -535,7 +589,7 @@ var PriorityQueue = (function() { this.cascadeDown(node); } }; - PriorityQueue.prototype.cascadeDown = function(node) { + PriorityQueue.prototype.cascadeDown = function (node) { var newParent; var finalQueueIndex = node.queueIndex; while (true) { @@ -569,46 +623,47 @@ var PriorityQueue = (function() { } } }; - PriorityQueue.prototype.cascadeUp = function(node) { + PriorityQueue.prototype.cascadeUp = function (node) { var parent = Math.floor(node.queueIndex / 2); while (parent >= 1) { var parentNode = this._nodes[parent]; - if (this.hasHigherPriority(parentNode, node)) - break; + if (this.hasHigherPriority(parentNode, node)) break; this.swap(node, parentNode); parent = Math.floor(node.queueIndex / 2); } }; - PriorityQueue.prototype.swap = function(node1, node2) { + PriorityQueue.prototype.swap = function (node1, node2) { this._nodes[node1.queueIndex] = node2; this._nodes[node2.queueIndex] = node1; var temp = node1.queueIndex; node1.queueIndex = node2.queueIndex; node2.queueIndex = temp; }; - PriorityQueue.prototype.hasHigherPriority = function(higher, lower) { - return (higher.priority < lower.priority || - (higher.priority == lower.priority && - higher.insertionIndex < lower.insertionIndex)); + PriorityQueue.prototype.hasHigherPriority = function (higher, lower) { + return ( + higher.priority < lower.priority || + (higher.priority == lower.priority && + higher.insertionIndex < lower.insertionIndex) + ); }; return PriorityQueue; -}()); -var BreadthFirstPathfinder = (function() { +})(); +var BreadthFirstPathfinder = (function () { function BreadthFirstPathfinder() {} - BreadthFirstPathfinder.search = function(graph, start, goal) { + BreadthFirstPathfinder.search = function (graph, start, goal) { var _this = this; var foundPath = false; var frontier = []; frontier.unshift(start); var cameFrom = new Map(); cameFrom.set(start, start); - var _loop_3 = function() { + var _loop_3 = function () { var current = frontier.shift(); if (JSON.stringify(current) == JSON.stringify(goal)) { foundPath = true; return "break"; } - graph.getNeighbors(current).forEach(function(next) { + graph.getNeighbors(current).forEach(function (next) { if (!_this.hasKey(cameFrom, next)) { frontier.unshift(next); cameFrom.set(next, current); @@ -617,41 +672,43 @@ var BreadthFirstPathfinder = (function() { }; while (frontier.length > 0) { var state_2 = _loop_3(); - if (state_2 === "break") - break; + if (state_2 === "break") break; } - return foundPath ? AStarPathfinder.recontructPath(cameFrom, start, goal) - : null; + return foundPath + ? AStarPathfinder.recontructPath(cameFrom, start, goal) + : null; }; - BreadthFirstPathfinder.hasKey = function(map, compareKey) { + BreadthFirstPathfinder.hasKey = function (map, compareKey) { var iterator = map.keys(); var r; - while (r = iterator.next(), !r.done) { - if (JSON.stringify(r.value) == JSON.stringify(compareKey)) - return true; + while (((r = iterator.next()), !r.done)) { + if (JSON.stringify(r.value) == JSON.stringify(compareKey)) return true; } return false; }; return BreadthFirstPathfinder; -}()); -var UnweightedGraph = (function() { - function UnweightedGraph() { this.edges = new Map(); } - UnweightedGraph.prototype.addEdgesForNode = function(node, edges) { +})(); +var UnweightedGraph = (function () { + function UnweightedGraph() { + this.edges = new Map(); + } + UnweightedGraph.prototype.addEdgesForNode = function (node, edges) { this.edges.set(node, edges); return this; }; - UnweightedGraph.prototype.getNeighbors = function( - node) { return this.edges.get(node); }; + UnweightedGraph.prototype.getNeighbors = function (node) { + return this.edges.get(node); + }; return UnweightedGraph; -}()); -var Point = (function() { +})(); +var Point = (function () { function Point(x, y) { this.x = x ? x : 0; this.y = y ? y : this.x; } return Point; -}()); -var UnweightedGridGraph = (function() { +})(); +var UnweightedGridGraph = (function () { function UnweightedGridGraph(width, height, allowDiagonalSearch) { if (allowDiagonalSearch === void 0) { allowDiagonalSearch = false; @@ -660,31 +717,42 @@ var UnweightedGridGraph = (function() { this._neighbors = new Array(4); this._width = width; this._hegiht = height; - this._dirs = allowDiagonalSearch ? UnweightedGridGraph.COMPASS_DIRS - : UnweightedGridGraph.CARDINAL_DIRS; + this._dirs = allowDiagonalSearch + ? UnweightedGridGraph.COMPASS_DIRS + : UnweightedGridGraph.CARDINAL_DIRS; } - UnweightedGridGraph.prototype.isNodeInBounds = function(node) { - return 0 <= node.x && node.x < this._width && 0 <= node.y && - node.y < this._hegiht; + UnweightedGridGraph.prototype.isNodeInBounds = function (node) { + return ( + 0 <= node.x && + node.x < this._width && + 0 <= node.y && + node.y < this._hegiht + ); }; - UnweightedGridGraph.prototype.isNodePassable = function(node) { - return !this.walls.firstOrDefault(function( - wall) { return JSON.stringify(wall) == JSON.stringify(node); }); + UnweightedGridGraph.prototype.isNodePassable = function (node) { + return !this.walls.firstOrDefault(function (wall) { + return JSON.stringify(wall) == JSON.stringify(node); + }); }; - UnweightedGridGraph.prototype.getNeighbors = function(node) { + UnweightedGridGraph.prototype.getNeighbors = function (node) { var _this = this; this._neighbors.length = 0; - this._dirs.forEach(function(dir) { + this._dirs.forEach(function (dir) { var next = new Point(node.x + dir.x, node.y + dir.y); if (_this.isNodeInBounds(next) && _this.isNodePassable(next)) _this._neighbors.push(next); }); return this._neighbors; }; - UnweightedGridGraph.prototype.search = function( - start, goal) { return BreadthFirstPathfinder.search(this, start, goal); }; - UnweightedGridGraph.CARDINAL_DIRS = - [ new Point(1, 0), new Point(0, -1), new Point(-1, 0), new Point(0, -1) ]; + UnweightedGridGraph.prototype.search = function (start, goal) { + return BreadthFirstPathfinder.search(this, start, goal); + }; + UnweightedGridGraph.CARDINAL_DIRS = [ + new Point(1, 0), + new Point(0, -1), + new Point(-1, 0), + new Point(0, -1), + ]; UnweightedGridGraph.COMPASS_DIRS = [ new Point(1, 0), new Point(1, -1), @@ -696,8 +764,8 @@ var UnweightedGridGraph = (function() { new Point(1, 1), ]; return UnweightedGridGraph; -}()); -var WeightedGridGraph = (function() { +})(); +var WeightedGridGraph = (function () { function WeightedGridGraph(width, height, allowDiagonalSearch) { if (allowDiagonalSearch === void 0) { allowDiagonalSearch = false; @@ -709,37 +777,49 @@ var WeightedGridGraph = (function() { this._neighbors = new Array(4); this._width = width; this._height = height; - this._dirs = allowDiagonalSearch ? WeightedGridGraph.COMPASS_DIRS - : WeightedGridGraph.CARDINAL_DIRS; + this._dirs = allowDiagonalSearch + ? WeightedGridGraph.COMPASS_DIRS + : WeightedGridGraph.CARDINAL_DIRS; } - WeightedGridGraph.prototype.isNodeInBounds = function(node) { - return 0 <= node.x && node.x < this._width && 0 <= node.y && - node.y < this._height; + WeightedGridGraph.prototype.isNodeInBounds = function (node) { + return ( + 0 <= node.x && + node.x < this._width && + 0 <= node.y && + node.y < this._height + ); }; - WeightedGridGraph.prototype.isNodePassable = function(node) { - return !this.walls.firstOrDefault(function( - wall) { return JSON.stringify(wall) == JSON.stringify(node); }); + WeightedGridGraph.prototype.isNodePassable = function (node) { + return !this.walls.firstOrDefault(function (wall) { + return JSON.stringify(wall) == JSON.stringify(node); + }); }; - WeightedGridGraph.prototype.search = function( - start, goal) { return WeightedPathfinder.search(this, start, goal); }; - WeightedGridGraph.prototype.getNeighbors = function(node) { + WeightedGridGraph.prototype.search = function (start, goal) { + return WeightedPathfinder.search(this, start, goal); + }; + WeightedGridGraph.prototype.getNeighbors = function (node) { var _this = this; this._neighbors.length = 0; - this._dirs.forEach(function(dir) { + this._dirs.forEach(function (dir) { var next = new Point(node.x + dir.x, node.y + dir.y); if (_this.isNodeInBounds(next) && _this.isNodePassable(next)) _this._neighbors.push(next); }); return this._neighbors; }; - WeightedGridGraph.prototype.cost = function(from, to) { - return this.weightedNodes.find(function( - t) { return JSON.stringify(t) == JSON.stringify(to); }) - ? this.weightedNodeWeight - : this.defaultWeight; + WeightedGridGraph.prototype.cost = function (from, to) { + return this.weightedNodes.find(function (t) { + return JSON.stringify(t) == JSON.stringify(to); + }) + ? this.weightedNodeWeight + : this.defaultWeight; }; - WeightedGridGraph.CARDINAL_DIRS = - [ new Point(1, 0), new Point(0, -1), new Point(-1, 0), new Point(0, 1) ]; + WeightedGridGraph.CARDINAL_DIRS = [ + new Point(1, 0), + new Point(0, -1), + new Point(-1, 0), + new Point(0, 1), + ]; WeightedGridGraph.COMPASS_DIRS = [ new Point(1, 0), new Point(1, -1), @@ -751,8 +831,8 @@ var WeightedGridGraph = (function() { new Point(1, 1), ]; return WeightedGridGraph; -}()); -var WeightedNode = (function(_super) { +})(); +var WeightedNode = (function (_super) { __extends(WeightedNode, _super); function WeightedNode(data) { var _this = _super.call(this) || this; @@ -760,10 +840,10 @@ var WeightedNode = (function(_super) { return _this; } return WeightedNode; -}(PriorityQueueNode)); -var WeightedPathfinder = (function() { +})(PriorityQueueNode); +var WeightedPathfinder = (function () { function WeightedPathfinder() {} - WeightedPathfinder.search = function(graph, start, goal) { + WeightedPathfinder.search = function (graph, start, goal) { var _this = this; var foundPath = false; var cameFrom = new Map(); @@ -772,15 +852,15 @@ var WeightedPathfinder = (function() { var frontier = new PriorityQueue(1000); frontier.enqueue(new WeightedNode(start), 0); costSoFar.set(start, 0); - var _loop_4 = function() { + var _loop_4 = function () { var current = frontier.dequeue(); if (JSON.stringify(current.data) == JSON.stringify(goal)) { foundPath = true; return "break"; } - graph.getNeighbors(current.data).forEach(function(next) { + graph.getNeighbors(current.data).forEach(function (next) { var newCost = - costSoFar.get(current.data) + graph.cost(current.data, next); + costSoFar.get(current.data) + graph.cost(current.data, next); if (!_this.hasKey(costSoFar, next) || newCost < costSoFar.get(next)) { costSoFar.set(next, newCost); var priprity = newCost; @@ -791,32 +871,29 @@ var WeightedPathfinder = (function() { }; while (frontier.count > 0) { var state_3 = _loop_4(); - if (state_3 === "break") - break; + if (state_3 === "break") break; } return foundPath ? this.recontructPath(cameFrom, start, goal) : null; }; - WeightedPathfinder.hasKey = function(map, compareKey) { + WeightedPathfinder.hasKey = function (map, compareKey) { var iterator = map.keys(); var r; - while (r = iterator.next(), !r.done) { - if (JSON.stringify(r.value) == JSON.stringify(compareKey)) - return true; + while (((r = iterator.next()), !r.done)) { + if (JSON.stringify(r.value) == JSON.stringify(compareKey)) return true; } return false; }; - WeightedPathfinder.getKey = function(map, compareKey) { + WeightedPathfinder.getKey = function (map, compareKey) { var iterator = map.keys(); var valueIterator = map.values(); var r; var v; - while (r = iterator.next(), v = valueIterator.next(), !r.done) { - if (JSON.stringify(r.value) == JSON.stringify(compareKey)) - return v.value; + while (((r = iterator.next()), (v = valueIterator.next()), !r.done)) { + if (JSON.stringify(r.value) == JSON.stringify(compareKey)) return v.value; } return null; }; - WeightedPathfinder.recontructPath = function(cameFrom, start, goal) { + WeightedPathfinder.recontructPath = function (cameFrom, start, goal) { var path = []; var current = goal; path.push(goal); @@ -828,30 +905,32 @@ var WeightedPathfinder = (function() { return path; }; return WeightedPathfinder; -}()); -var DebugDefaults = (function() { +})(); +var DebugDefaults = (function () { function DebugDefaults() {} - DebugDefaults.verletParticle = 0xDC345E; - DebugDefaults.verletConstraintEdge = 0x433E36; + DebugDefaults.verletParticle = 0xdc345e; + DebugDefaults.verletConstraintEdge = 0x433e36; return DebugDefaults; -}()); -var Component = (function(_super) { +})(); +var Component = (function (_super) { __extends(Component, _super); function Component() { - var _this = _super !== null && _super.apply(this, arguments) || this; + var _this = (_super !== null && _super.apply(this, arguments)) || this; _this._enabled = true; _this.updateInterval = 1; return _this; } Object.defineProperty(Component.prototype, "enabled", { - get : function() { + get: function () { return this.entity ? this.entity.enabled && this._enabled : this._enabled; }, - set : function(value) { this.setEnabled(value); }, - enumerable : true, - configurable : true + set: function (value) { + this.setEnabled(value); + }, + enumerable: true, + configurable: true, }); - Component.prototype.setEnabled = function(isEnabled) { + Component.prototype.setEnabled = function (isEnabled) { if (this._enabled != isEnabled) { this._enabled = isEnabled; if (this._enabled) { @@ -862,26 +941,28 @@ var Component = (function(_super) { } return this; }; - Component.prototype.initialize = function() {}; - Component.prototype.onAddedToEntity = function() {}; - Component.prototype.onRemovedFromEntity = function() {}; - Component.prototype.onEnabled = function() {}; - Component.prototype.onDisabled = function() {}; - Component.prototype.onEntityTransformChanged = function(comp) {}; - Component.prototype.update = function() {}; - Component.prototype.debugRender = function() {}; - Component.prototype.registerComponent = function() { - this.entity.componentBits.set(ComponentTypeManager.getIndexFor(this), - false); + Component.prototype.initialize = function () {}; + Component.prototype.onAddedToEntity = function () {}; + Component.prototype.onRemovedFromEntity = function () {}; + Component.prototype.onEnabled = function () {}; + Component.prototype.onDisabled = function () {}; + Component.prototype.onEntityTransformChanged = function (comp) {}; + Component.prototype.update = function () {}; + Component.prototype.debugRender = function () {}; + Component.prototype.registerComponent = function () { + this.entity.componentBits.set( + ComponentTypeManager.getIndexFor(this), + false + ); this.entity.scene.entityProcessors.onComponentAdded(this.entity); }; - Component.prototype.deregisterComponent = function() { + Component.prototype.deregisterComponent = function () { this.entity.componentBits.set(ComponentTypeManager.getIndexFor(this)); this.entity.scene.entityProcessors.onComponentRemoved(this.entity); }; return Component; -}(egret.DisplayObjectContainer)); -var Entity = (function(_super) { +})(egret.DisplayObjectContainer); +var Entity = (function (_super) { __extends(Entity, _super); function Entity(name) { var _this = _super.call(this) || this; @@ -896,61 +977,81 @@ var Entity = (function(_super) { return _this; } Object.defineProperty(Entity.prototype, "isDestoryed", { - get : function() { return this._isDestoryed; }, - enumerable : true, - configurable : true + get: function () { + return this._isDestoryed; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Entity.prototype, "position", { - get : function() { return this._position; }, - set : function(value) { this._position = value; }, - enumerable : true, - configurable : true + get: function () { + return this._position; + }, + set: function (value) { + this._position = value; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Entity.prototype, "scale", { - get : function() { return new Vector2(this.scaleX, this.scaleY); }, - set : function(value) { + get: function () { + return new Vector2(this.scaleX, this.scaleY); + }, + set: function (value) { this.scaleX = value.x; this.scaleY = value.y; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Entity.prototype, "enabled", { - get : function() { return this._enabled; }, - set : function(value) { this.setEnabled(value); }, - enumerable : true, - configurable : true + get: function () { + return this._enabled; + }, + set: function (value) { + this.setEnabled(value); + }, + enumerable: true, + configurable: true, }); - Entity.prototype.setEnabled = function(isEnabled) { + Entity.prototype.setEnabled = function (isEnabled) { if (this._enabled != isEnabled) { this._enabled = isEnabled; } return this; }; Object.defineProperty(Entity.prototype, "tag", { - get : function() { return this._tag; }, - set : function(value) { this.setTag(value); }, - enumerable : true, - configurable : true + get: function () { + return this._tag; + }, + set: function (value) { + this.setTag(value); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Entity.prototype, "stage", { - get : function() { - if (!this.scene) - return null; + get: function () { + if (!this.scene) return null; return this.scene.stage; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Entity.prototype, "updateOrder", { - get : function() { return this._updateOrder; }, - set : function(value) { this.setUpdateOrder(value); }, - enumerable : true, - configurable : true + get: function () { + return this._updateOrder; + }, + set: function (value) { + this.setUpdateOrder(value); + }, + enumerable: true, + configurable: true, }); - Entity.prototype.roundPosition = - function() { this.position = Vector2Ext.round(this.position); }; - Entity.prototype.setUpdateOrder = function(updateOrder) { + Entity.prototype.roundPosition = function () { + this.position = Vector2Ext.round(this.position); + }; + Entity.prototype.setUpdateOrder = function (updateOrder) { if (this._updateOrder != updateOrder) { this._updateOrder = updateOrder; if (this.scene) { @@ -958,7 +1059,7 @@ var Entity = (function(_super) { return this; } }; - Entity.prototype.setTag = function(tag) { + Entity.prototype.setTag = function (tag) { if (this._tag != tag) { if (this.scene) { this.scene.entities.removeFromTagList(this); @@ -970,7 +1071,7 @@ var Entity = (function(_super) { } return this; }; - Entity.prototype.attachToScene = function(newScene) { + Entity.prototype.attachToScene = function (newScene) { this.scene = newScene; newScene.entities.add(this); this.components.registerAllComponents(); @@ -978,34 +1079,36 @@ var Entity = (function(_super) { this.getChildAt(i).entity.attachToScene(newScene); } }; - Entity.prototype.detachFromScene = function() { + Entity.prototype.detachFromScene = function () { this.scene.entities.remove(this); this.components.deregisterAllComponents(); for (var i = 0; i < this.numChildren; i++) this.getChildAt(i).entity.detachFromScene(); }; - Entity.prototype.addComponent = function(component) { + Entity.prototype.addComponent = function (component) { component.entity = this; this.components.add(component); this.addChild(component); component.initialize(); return component; }; - Entity.prototype.hasComponent = function( - type) { return this.components.getComponent(type, false) != null; }; - Entity.prototype.getOrCreateComponent = function(type) { + Entity.prototype.hasComponent = function (type) { + return this.components.getComponent(type, false) != null; + }; + Entity.prototype.getOrCreateComponent = function (type) { var comp = this.components.getComponent(type, true); if (!comp) { comp = this.addComponent(type); } return comp; }; - Entity.prototype.getComponent = function( - type) { return this.components.getComponent(type, false); }; - Entity.prototype.getComponents = function(typeName, componentList) { + Entity.prototype.getComponent = function (type) { + return this.components.getComponent(type, false); + }; + Entity.prototype.getComponents = function (typeName, componentList) { return this.components.getComponents(typeName, componentList); }; - Entity.prototype.removeComponentForType = function(type) { + Entity.prototype.removeComponentForType = function (type) { var comp = this.getComponent(type); if (comp) { this.removeComponent(comp); @@ -1013,22 +1116,25 @@ var Entity = (function(_super) { } return false; }; - Entity.prototype.removeComponent = function( - component) { this.components.remove(component); }; - Entity.prototype.removeAllComponents = function() { + Entity.prototype.removeComponent = function (component) { + this.components.remove(component); + }; + Entity.prototype.removeAllComponents = function () { for (var i = 0; i < this.components.count; i++) { this.removeComponent(this.components.buffer[i]); } }; - Entity.prototype.update = function() { this.components.update(); }; - Entity.prototype.onAddedToScene = function() {}; - Entity.prototype.onRemovedFromScene = function() { - if (this._isDestoryed) - this.components.removeAllComponents(); + Entity.prototype.update = function () { + this.components.update(); }; - Entity.prototype.onTransformChanged = function( - comp) { this.components.onEntityTransformChanged(comp); }; - Entity.prototype.destroy = function() { + Entity.prototype.onAddedToScene = function () {}; + Entity.prototype.onRemovedFromScene = function () { + if (this._isDestoryed) this.components.removeAllComponents(); + }; + Entity.prototype.onTransformChanged = function (comp) { + this.components.onEntityTransformChanged(comp); + }; + Entity.prototype.destroy = function () { this._isDestoryed = true; this.scene.entities.remove(this); this.removeChildren(); @@ -1038,8 +1144,8 @@ var Entity = (function(_super) { } }; return Entity; -}(egret.DisplayObjectContainer)); -var Scene = (function(_super) { +})(egret.DisplayObjectContainer); +var Scene = (function (_super) { __extends(Scene, _super); function Scene() { var _this = _super.call(this) || this; @@ -1056,12 +1162,12 @@ var Scene = (function(_super) { _this.addEventListener(egret.Event.DEACTIVATE, _this.onDeactive, _this); return _this; } - Scene.prototype.createEntity = function(name) { + Scene.prototype.createEntity = function (name) { var entity = new Entity(name); entity.position = new Vector2(0, 0); return this.addEntity(entity); }; - Scene.prototype.addEntity = function(entity) { + Scene.prototype.addEntity = function (entity) { this.entities.add(entity); entity.scene = this; this.addChild(entity); @@ -1069,40 +1175,42 @@ var Scene = (function(_super) { this.addEntity(entity.getChildAt(i).entity); return entity; }; - Scene.prototype.destroyAllEntities = function() { + Scene.prototype.destroyAllEntities = function () { for (var i = 0; i < this.entities.count; i++) { this.entities.buffer[i].destroy(); } }; - Scene.prototype.findEntity = function( - name) { return this.entities.findEntity(name); }; - Scene.prototype.addEntityProcessor = function(processor) { + Scene.prototype.findEntity = function (name) { + return this.entities.findEntity(name); + }; + Scene.prototype.addEntityProcessor = function (processor) { processor.scene = this; this.entityProcessors.add(processor); return processor; }; - Scene.prototype.removeEntityProcessor = function( - processor) { this.entityProcessors.remove(processor); }; - Scene.prototype.getEntityProcessor = - function() { return this.entityProcessors.getProcessor(); }; - Scene.prototype.addRenderer = function(renderer) { + Scene.prototype.removeEntityProcessor = function (processor) { + this.entityProcessors.remove(processor); + }; + Scene.prototype.getEntityProcessor = function () { + return this.entityProcessors.getProcessor(); + }; + Scene.prototype.addRenderer = function (renderer) { this._renderers.push(renderer); this._renderers.sort(); renderer.onAddedToScene(this); return renderer; }; - Scene.prototype.getRenderer = function(type) { + Scene.prototype.getRenderer = function (type) { for (var i = 0; i < this._renderers.length; i++) { - if (this._renderers[i] instanceof type) - return this._renderers[i]; + if (this._renderers[i] instanceof type) return this._renderers[i]; } return null; }; - Scene.prototype.removeRenderer = function(renderer) { + Scene.prototype.removeRenderer = function (renderer) { this._renderers.remove(renderer); renderer.unload(); }; - Scene.prototype.begin = function() { + Scene.prototype.begin = function () { if (SceneManager.sceneTransition) { SceneManager.stage.addChildAt(this, SceneManager.stage.numChildren - 1); } else { @@ -1111,19 +1219,22 @@ var Scene = (function(_super) { if (this._renderers.length == 0) { this.addRenderer(new DefaultRenderer()); console.warn( - "场景开始时没有渲染器 自动添加DefaultRenderer以保证能够正常渲染"); + "场景开始时没有渲染器 自动添加DefaultRenderer以保证能够正常渲染" + ); } - this.camera = - this.createEntity("camera").getOrCreateComponent(new Camera()); + this.camera = this.createEntity("camera").getOrCreateComponent( + new Camera() + ); Physics.reset(); - if (this.entityProcessors) - this.entityProcessors.begin(); - this.camera.onSceneSizeChanged(this.stage.stageWidth, - this.stage.stageHeight); + if (this.entityProcessors) this.entityProcessors.begin(); + this.camera.onSceneSizeChanged( + this.stage.stageWidth, + this.stage.stageHeight + ); this._didSceneBegin = true; this.onStart(); }; - Scene.prototype.end = function() { + Scene.prototype.end = function () { this._didSceneBegin = false; this.removeEventListener(egret.Event.DEACTIVATE, this.onDeactive, this); this.removeEventListener(egret.Event.ACTIVATE, this.onActive, this); @@ -1138,28 +1249,27 @@ var Scene = (function(_super) { Physics.clear(); this.camera = null; this.content.dispose(); - if (this.entityProcessors) - this.entityProcessors.end(); + if (this.entityProcessors) this.entityProcessors.end(); this.unload(); }; - Scene.prototype.onStart = function() { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { return [ 2 ]; }); + Scene.prototype.onStart = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + return [2]; + }); }); }; - Scene.prototype.onActive = function() {}; - Scene.prototype.onDeactive = function() {}; - Scene.prototype.unload = function() {}; - Scene.prototype.update = function() { + Scene.prototype.onActive = function () {}; + Scene.prototype.onDeactive = function () {}; + Scene.prototype.unload = function () {}; + Scene.prototype.update = function () { this.entities.updateLists(); - if (this.entityProcessors) - this.entityProcessors.update(); + if (this.entityProcessors) this.entityProcessors.update(); this.entities.update(); - if (this.entityProcessors) - this.entityProcessors.lateUpdate(); + if (this.entityProcessors) this.entityProcessors.lateUpdate(); this.renderableComponents.updateList(); }; - Scene.prototype.postRender = function() { + Scene.prototype.postRender = function () { var enabledCounter = 0; if (this.enablePostProcessing) { for (var i = 0; i < this._postProcessors.length; i++) { @@ -1171,34 +1281,37 @@ var Scene = (function(_super) { } } }; - Scene.prototype.render = function() { + Scene.prototype.render = function () { for (var i = 0; i < this._renderers.length; i++) { this._renderers[i].render(this); } }; - Scene.prototype.addPostProcessor = function(postProcessor) { + Scene.prototype.addPostProcessor = function (postProcessor) { this._postProcessors.push(postProcessor); this._postProcessors.sort(); postProcessor.onAddedToScene(this); if (this._didSceneBegin) { - postProcessor.onSceneBackBufferSizeChanged(this.stage.stageWidth, - this.stage.stageHeight); + postProcessor.onSceneBackBufferSizeChanged( + this.stage.stageWidth, + this.stage.stageHeight + ); } return postProcessor; }; return Scene; -}(egret.DisplayObjectContainer)); -var SceneManager = (function() { +})(egret.DisplayObjectContainer); +var SceneManager = (function () { function SceneManager(stage) { stage.addEventListener(egret.Event.ENTER_FRAME, SceneManager.update, this); SceneManager.stage = stage; SceneManager.initialize(stage); } Object.defineProperty(SceneManager, "scene", { - get : function() { return this._scene; }, - set : function(value) { - if (!value) - throw new Error("场景不能为空"); + get: function () { + return this._scene; + }, + set: function (value) { + if (!value) throw new Error("场景不能为空"); if (this._scene == null) { this._scene = value; this._scene.begin(); @@ -1206,21 +1319,25 @@ var SceneManager = (function() { this._nextScene = value; } }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); - SceneManager.initialize = function(stage) { Input.initialize(stage); }; - SceneManager.update = function() { + SceneManager.initialize = function (stage) { + Input.initialize(stage); + }; + SceneManager.update = function () { Time.update(egret.getTimer()); if (SceneManager._scene) { for (var i = GlobalManager.globalManagers.length - 1; i >= 0; i--) { if (GlobalManager.globalManagers[i].enabled) GlobalManager.globalManagers[i].update(); } - if (!SceneManager.sceneTransition || - (SceneManager.sceneTransition && - (!SceneManager.sceneTransition.loadsNewScene || - SceneManager.sceneTransition.isNewSceneLoaded))) { + if ( + !SceneManager.sceneTransition || + (SceneManager.sceneTransition && + (!SceneManager.sceneTransition.loadsNewScene || + SceneManager.sceneTransition.isNewSceneLoaded)) + ) { SceneManager._scene.update(); } if (SceneManager._nextScene) { @@ -1236,7 +1353,7 @@ var SceneManager = (function() { } SceneManager.render(); }; - SceneManager.render = function() { + SceneManager.render = function () { if (this.sceneTransition) { this.sceneTransition.preRender(); if (this._scene && !this.sceneTransition.hasPreviousSceneRender) { @@ -1255,7 +1372,7 @@ var SceneManager = (function() { this._scene.postRender(); } }; - SceneManager.startSceneTransition = function(sceneTransition) { + SceneManager.startSceneTransition = function (sceneTransition) { if (this.sceneTransition) { console.warn("在前一个场景完成之前,不能开始一个新的场景转换。"); return; @@ -1264,21 +1381,21 @@ var SceneManager = (function() { return sceneTransition; }; return SceneManager; -}()); +})(); var DirtyType; -(function(DirtyType) { -DirtyType[DirtyType["clean"] = 0] = "clean"; -DirtyType[DirtyType["positionDirty"] = 1] = "positionDirty"; -DirtyType[DirtyType["scaleDirty"] = 2] = "scaleDirty"; -DirtyType[DirtyType["rotationDirty"] = 3] = "rotationDirty"; +(function (DirtyType) { + DirtyType[(DirtyType["clean"] = 0)] = "clean"; + DirtyType[(DirtyType["positionDirty"] = 1)] = "positionDirty"; + DirtyType[(DirtyType["scaleDirty"] = 2)] = "scaleDirty"; + DirtyType[(DirtyType["rotationDirty"] = 3)] = "rotationDirty"; })(DirtyType || (DirtyType = {})); var ComponentTransform; -(function(ComponentTransform) { -ComponentTransform[ComponentTransform["position"] = 0] = "position"; -ComponentTransform[ComponentTransform["scale"] = 1] = "scale"; -ComponentTransform[ComponentTransform["rotation"] = 2] = "rotation"; +(function (ComponentTransform) { + ComponentTransform[(ComponentTransform["position"] = 0)] = "position"; + ComponentTransform[(ComponentTransform["scale"] = 1)] = "scale"; + ComponentTransform[(ComponentTransform["rotation"] = 2)] = "rotation"; })(ComponentTransform || (ComponentTransform = {})); -var Transform = (function() { +var Transform = (function () { function Transform(entity) { this._localRotation = 0; this._worldTransform = Matrix2D.identity; @@ -1290,149 +1407,179 @@ var Transform = (function() { this._children = []; } Object.defineProperty(Transform.prototype, "childCount", { - get : function() { return this._children.length; }, - enumerable : true, - configurable : true + get: function () { + return this._children.length; + }, + enumerable: true, + configurable: true, }); - Transform.prototype.getChild = function( - index) { return this._children[index]; }; + Transform.prototype.getChild = function (index) { + return this._children[index]; + }; Object.defineProperty(Transform.prototype, "worldInverseTransform", { - get : function() { + get: function () { this.updateTransform(); if (this._worldInverseDirty) { - this._worldInverseTransform = - Matrix2D.invert(this._worldTransform, this._worldInverseTransform); + this._worldInverseTransform = Matrix2D.invert( + this._worldTransform, + this._worldInverseTransform + ); this._worldInverseDirty = false; } return this._worldInverseTransform; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Transform.prototype, "localToWorldTransform", { - get : function() { + get: function () { this.updateTransform(); return this._worldTransform; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Transform.prototype, "worldToLocalTransform", { - get : function() { + get: function () { if (this._worldToLocalDirty) { if (!this.parent) { this._worldInverseTransform = new Matrix2D(); } else { this.parent.updateTransform(); this._worldToLocalTransform = Matrix2D.invert( - this.parent._worldTransform, this._worldToLocalTransform); + this.parent._worldTransform, + this._worldToLocalTransform + ); } this._worldToLocalDirty = false; } return this._worldToLocalTransform; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Transform.prototype, "parent", { - get : function() { return this._parent; }, - set : function(value) { this.setParent(value); }, - enumerable : true, - configurable : true + get: function () { + return this._parent; + }, + set: function (value) { + this.setParent(value); + }, + enumerable: true, + configurable: true, }); - Transform.prototype.setParent = function(parent) { - if (this._parent == parent) - return this; - if (this._parent) - this._parent._children.remove(this); - if (parent) - parent._children.push(this); + Transform.prototype.setParent = function (parent) { + if (this._parent == parent) return this; + if (this._parent) this._parent._children.remove(this); + if (parent) parent._children.push(this); this._parent = parent; return this; }; Object.defineProperty(Transform.prototype, "rotation", { - get : function() { + get: function () { this.updateTransform(); return this._rotation; }, - set : function(value) { this.setRotation(value); }, - enumerable : true, - configurable : true + set: function (value) { + this.setRotation(value); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Transform.prototype, "localRotation", { - get : function() { + get: function () { this.updateTransform(); return this._localRotation; }, - set : function(value) { this.setLocalRotation(value); }, - enumerable : true, - configurable : true + set: function (value) { + this.setLocalRotation(value); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Transform.prototype, "position", { - get : function() { + get: function () { this.updateTransform(); if (this._positionDirty) { if (!this.parent) { this._position = this._localPosition; } else { this.parent.updateTransform(); - this._position = Vector2Ext.transformR(this._localPosition, - this.parent._worldTransform); + this._position = Vector2Ext.transformR( + this._localPosition, + this.parent._worldTransform + ); } this._positionDirty = false; } return this._position; }, - set : function(value) { this.setPosition(value); }, - enumerable : true, - configurable : true + set: function (value) { + this.setPosition(value); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Transform.prototype, "localPosition", { - get : function() { + get: function () { this.updateTransform(); return this._localPosition; }, - set : function(value) { this.setLocalPosition(value); }, - enumerable : true, - configurable : true + set: function (value) { + this.setLocalPosition(value); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Transform.prototype, "scale", { - get : function() { + get: function () { this.updateTransform(); return this._scale; }, - set : function(value) { this.setScale(value); }, - enumerable : true, - configurable : true + set: function (value) { + this.setScale(value); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Transform.prototype, "localScale", { - get : function() { + get: function () { this.updateTransform(); return this._localScale; }, - set : function(value) { this.setLocalScale(value); }, - enumerable : true, - configurable : true + set: function (value) { + this.setLocalScale(value); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Transform.prototype, "rotationDegrees", { - get : function() { return MathHelper.toDegrees(this._rotation); }, - set : function(value) { this.setRotation(MathHelper.toRadians(value)); }, - enumerable : true, - configurable : true + get: function () { + return MathHelper.toDegrees(this._rotation); + }, + set: function (value) { + this.setRotation(MathHelper.toRadians(value)); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Transform.prototype, "localRotationDegrees", { - get : function() { return MathHelper.toDegrees(this._localRotation); }, - set : function(value) { this.localRotation = MathHelper.toRadians(value); }, - enumerable : true, - configurable : true + get: function () { + return MathHelper.toDegrees(this._localRotation); + }, + set: function (value) { + this.localRotation = MathHelper.toRadians(value); + }, + enumerable: true, + configurable: true, }); - Transform.prototype.setLocalScale = function(scale) { + Transform.prototype.setLocalScale = function (scale) { this._localScale = scale; this._localDirty = this._positionDirty = this._localScaleDirty = true; this.setDirty(DirtyType.scaleDirty); return this; }; - Transform.prototype.setScale = function(scale) { + Transform.prototype.setScale = function (scale) { this._scale = scale; if (this.parent) { this.localScale = Vector2.divide(scale, this.parent._scale); @@ -1441,16 +1588,16 @@ var Transform = (function() { } return this; }; - Transform.prototype.setLocalRotationDegrees = function( - degrees) { return this.setLocalRotation(MathHelper.toRadians(degrees)); }; - Transform.prototype.setLocalRotation = function(radians) { + Transform.prototype.setLocalRotationDegrees = function (degrees) { + return this.setLocalRotation(MathHelper.toRadians(degrees)); + }; + Transform.prototype.setLocalRotation = function (radians) { this._localRotation = radians; - this._localDirty = this._positionDirty = this._localPositionDirty = - this._localRotationDirty = this._localScaleDirty = true; + this._localDirty = this._positionDirty = this._localPositionDirty = this._localRotationDirty = this._localScaleDirty = true; this.setDirty(DirtyType.rotationDirty); return this; }; - Transform.prototype.setRotation = function(radians) { + Transform.prototype.setRotation = function (radians) { this._rotation = radians; if (this.parent) { this.localRotation = this.parent.rotation + radians; @@ -1459,61 +1606,62 @@ var Transform = (function() { } return this; }; - Transform.prototype.setRotationDegrees = function( - degrees) { return this.setRotation(MathHelper.toRadians(degrees)); }; - Transform.prototype.setLocalPosition = function(localPosition) { - if (localPosition == this._localPosition) - return this; + Transform.prototype.setRotationDegrees = function (degrees) { + return this.setRotation(MathHelper.toRadians(degrees)); + }; + Transform.prototype.setLocalPosition = function (localPosition) { + if (localPosition == this._localPosition) return this; this._localPosition = localPosition; - this._localDirty = this._positionDirty = this._localPositionDirty = - this._localRotationDirty = this._localScaleDirty = true; + this._localDirty = this._positionDirty = this._localPositionDirty = this._localRotationDirty = this._localScaleDirty = true; this.setDirty(DirtyType.positionDirty); return this; }; - Transform.prototype.setPosition = function(position) { - if (position == this._position) - return this; + Transform.prototype.setPosition = function (position) { + if (position == this._position) return this; this._position = position; if (this.parent) { - this.localPosition = - Vector2.transform(this._position, this._worldToLocalTransform); + this.localPosition = Vector2.transform( + this._position, + this._worldToLocalTransform + ); } else { this.localPosition = position; } this._positionDirty = false; return this; }; - Transform.prototype.setDirty = function(dirtyFlagType) { + Transform.prototype.setDirty = function (dirtyFlagType) { if ((this._hierachyDirty & dirtyFlagType) == 0) { this._hierachyDirty |= dirtyFlagType; switch (dirtyFlagType) { - case DirtyType.positionDirty: - this.entity.onTransformChanged(ComponentTransform.position); - break; - case DirtyType.rotationDirty: - this.entity.onTransformChanged(ComponentTransform.rotation); - break; - case DirtyType.scaleDirty: - this.entity.onTransformChanged(ComponentTransform.scale); - break; + case DirtyType.positionDirty: + this.entity.onTransformChanged(ComponentTransform.position); + break; + case DirtyType.rotationDirty: + this.entity.onTransformChanged(ComponentTransform.rotation); + break; + case DirtyType.scaleDirty: + this.entity.onTransformChanged(ComponentTransform.scale); + break; } - if (this._children == null) - this._children = []; + if (this._children == null) this._children = []; for (var i = 0; i < this._children.length; i++) { this._children[i].setDirty(dirtyFlagType); } } }; - Transform.prototype.roundPosition = - function() { this.position = this._position.round(); }; - Transform.prototype.updateTransform = function() { + Transform.prototype.roundPosition = function () { + this.position = this._position.round(); + }; + Transform.prototype.updateTransform = function () { if (this._hierachyDirty != DirtyType.clean) { - if (this.parent) - this.parent.updateTransform(); + if (this.parent) this.parent.updateTransform(); if (this._localDirty) { if (this._localPositionDirty) { this._translationMatrix = Matrix2D.createTranslation( - this._localPosition.x, this._localPosition.y); + this._localPosition.x, + this._localPosition.y + ); this._localPositionDirty = false; } if (this._localRotationDirty) { @@ -1521,14 +1669,20 @@ var Transform = (function() { this._localRotationDirty = false; } if (this._localScaleDirty) { - this._scaleMatrix = - Matrix2D.createScale(this._localScale.x, this._localScale.y); + this._scaleMatrix = Matrix2D.createScale( + this._localScale.x, + this._localScale.y + ); this._localScaleDirty = false; } - this._localTransform = - Matrix2D.multiply(this._scaleMatrix, this._rotationMatrix); - this._localTransform = - Matrix2D.multiply(this._localTransform, this._translationMatrix); + this._localTransform = Matrix2D.multiply( + this._scaleMatrix, + this._rotationMatrix + ); + this._localTransform = Matrix2D.multiply( + this._localTransform, + this._translationMatrix + ); if (!this.parent) { this._worldTransform = this._localTransform; this._rotation = this._localRotation; @@ -1538,8 +1692,10 @@ var Transform = (function() { this._localDirty = false; } if (this.parent) { - this._worldTransform = Matrix2D.multiply(this._localTransform, - this.parent._worldTransform); + this._worldTransform = Matrix2D.multiply( + this._localTransform, + this.parent._worldTransform + ); this._rotation = this._localRotation + this.parent._rotation; this._scale = Vector2.multiply(this.parent._scale, this._localScale); this._worldInverseDirty = true; @@ -1550,8 +1706,8 @@ var Transform = (function() { } }; return Transform; -}()); -var Camera = (function(_super) { +})(); +var Camera = (function (_super) { __extends(Camera, _super); function Camera() { var _this = _super.call(this) || this; @@ -1572,64 +1728,79 @@ var Camera = (function(_super) { return _this; } Object.defineProperty(Camera.prototype, "zoom", { - get : function() { - if (this._zoom == 0) - return 1; + get: function () { + if (this._zoom == 0) return 1; if (this._zoom < 1) return MathHelper.map(this._zoom, this._minimumZoom, 1, -1, 0); return MathHelper.map(this._zoom, 1, this._maximumZoom, 0, 1); }, - set : function(value) { this.setZoom(value); }, - enumerable : true, - configurable : true + set: function (value) { + this.setZoom(value); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Camera.prototype, "minimumZoom", { - get : function() { return this._minimumZoom; }, - set : function(value) { this.setMinimumZoom(value); }, - enumerable : true, - configurable : true + get: function () { + return this._minimumZoom; + }, + set: function (value) { + this.setMinimumZoom(value); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Camera.prototype, "maximumZoom", { - get : function() { return this._maximumZoom; }, - set : function(value) { this.setMaximumZoom(value); }, - enumerable : true, - configurable : true + get: function () { + return this._maximumZoom; + }, + set: function (value) { + this.setMaximumZoom(value); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Camera.prototype, "origin", { - get : function() { return this._origin; }, - set : function(value) { + get: function () { + return this._origin; + }, + set: function (value) { if (this._origin != value) { this._origin = value; } }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Camera.prototype, "position", { - get : function() { return this.entity.position; }, - set : function(value) { this.entity.position = value; }, - enumerable : true, - configurable : true + get: function () { + return this.entity.position; + }, + set: function (value) { + this.entity.position = value; + }, + enumerable: true, + configurable: true, }); - Camera.prototype.onSceneSizeChanged = function(newWidth, newHeight) { + Camera.prototype.onSceneSizeChanged = function (newWidth, newHeight) { var oldOrigin = this._origin; this.origin = new Vector2(newWidth / 2, newHeight / 2); this.entity.position = Vector2.add( - this.entity.position, Vector2.subtract(this._origin, oldOrigin)); + this.entity.position, + Vector2.subtract(this._origin, oldOrigin) + ); }; - Camera.prototype.setMinimumZoom = function(minZoom) { - if (this._zoom < minZoom) - this._zoom = this.minimumZoom; + Camera.prototype.setMinimumZoom = function (minZoom) { + if (this._zoom < minZoom) this._zoom = this.minimumZoom; this._minimumZoom = minZoom; return this; }; - Camera.prototype.setMaximumZoom = function(maxZoom) { - if (this._zoom > maxZoom) - this._zoom = maxZoom; + Camera.prototype.setMaximumZoom = function (maxZoom) { + if (this._zoom > maxZoom) this._zoom = maxZoom; this._maximumZoom = maxZoom; return this; }; - Camera.prototype.setZoom = function(zoom) { + Camera.prototype.setZoom = function (zoom) { var newZoom = MathHelper.clamp(zoom, -1, 1); if (newZoom == 0) { this._zoom = 1; @@ -1642,67 +1813,94 @@ var Camera = (function(_super) { SceneManager.scene.scaleY = this._zoom; return this; }; - Camera.prototype.setRotation = function(rotation) { + Camera.prototype.setRotation = function (rotation) { SceneManager.scene.rotation = rotation; return this; }; - Camera.prototype.setPosition = function(position) { + Camera.prototype.setPosition = function (position) { this.entity.position = position; return this; }; - Camera.prototype.follow = function(targetEntity, cameraStyle) { + Camera.prototype.follow = function (targetEntity, cameraStyle) { if (cameraStyle === void 0) { cameraStyle = CameraStyle.cameraWindow; } this.targetEntity = targetEntity; this.cameraStyle = cameraStyle; - var cameraBounds = new Rectangle(0, 0, SceneManager.stage.stageWidth, - SceneManager.stage.stageHeight); + var cameraBounds = new Rectangle( + 0, + 0, + SceneManager.stage.stageWidth, + SceneManager.stage.stageHeight + ); switch (this.cameraStyle) { - case CameraStyle.cameraWindow: - var w = cameraBounds.width / 6; - var h = cameraBounds.height / 3; - this.deadzone = new Rectangle((cameraBounds.width - w) / 2, - (cameraBounds.height - h) / 2, w, h); - break; - case CameraStyle.lockOn: - this.deadzone = new Rectangle(cameraBounds.width / 2, - cameraBounds.height / 2, 10, 10); - break; + case CameraStyle.cameraWindow: + var w = cameraBounds.width / 6; + var h = cameraBounds.height / 3; + this.deadzone = new Rectangle( + (cameraBounds.width - w) / 2, + (cameraBounds.height - h) / 2, + w, + h + ); + break; + case CameraStyle.lockOn: + this.deadzone = new Rectangle( + cameraBounds.width / 2, + cameraBounds.height / 2, + 10, + 10 + ); + break; } }; - Camera.prototype.update = function() { - var cameraBounds = new Rectangle(0, 0, SceneManager.stage.stageWidth, - SceneManager.stage.stageHeight); + Camera.prototype.update = function () { + var cameraBounds = new Rectangle( + 0, + 0, + SceneManager.stage.stageWidth, + SceneManager.stage.stageHeight + ); var halfScreen = Vector2.multiply( - new Vector2(cameraBounds.width, cameraBounds.height), new Vector2(0.5)); + new Vector2(cameraBounds.width, cameraBounds.height), + new Vector2(0.5) + ); this._worldSpaceDeadZone.x = - this.position.x - halfScreen.x + this.deadzone.x + this.focusOffset.x; + this.position.x - halfScreen.x + this.deadzone.x + this.focusOffset.x; this._worldSpaceDeadZone.y = - this.position.y - halfScreen.y + this.deadzone.y + this.focusOffset.y; + this.position.y - halfScreen.y + this.deadzone.y + this.focusOffset.y; this._worldSpaceDeadZone.width = this.deadzone.width; this._worldSpaceDeadZone.height = this.deadzone.height; - if (this.targetEntity) - this.updateFollow(); + if (this.targetEntity) this.updateFollow(); this.position = Vector2.lerp( - this.position, Vector2.add(this.position, this._desiredPositionDelta), - this.followLerp); + this.position, + Vector2.add(this.position, this._desiredPositionDelta), + this.followLerp + ); this.entity.roundPosition(); if (this.mapLockEnabled) { this.position = this.clampToMapSize(this.position); this.entity.roundPosition(); } }; - Camera.prototype.clampToMapSize = function(position) { - var cameraBounds = new Rectangle(0, 0, SceneManager.stage.stageWidth, - SceneManager.stage.stageHeight); + Camera.prototype.clampToMapSize = function (position) { + var cameraBounds = new Rectangle( + 0, + 0, + SceneManager.stage.stageWidth, + SceneManager.stage.stageHeight + ); var halfScreen = Vector2.multiply( - new Vector2(cameraBounds.width, cameraBounds.height), new Vector2(0.5)); - var cameraMax = new Vector2(this.mapSize.x - halfScreen.x, - this.mapSize.y - halfScreen.y); + new Vector2(cameraBounds.width, cameraBounds.height), + new Vector2(0.5) + ); + var cameraMax = new Vector2( + this.mapSize.x - halfScreen.x, + this.mapSize.y - halfScreen.y + ); return Vector2.clamp(position, halfScreen, cameraMax); }; - Camera.prototype.updateFollow = function() { + Camera.prototype.updateFollow = function () { this._desiredPositionDelta.x = this._desiredPositionDelta.y = 0; if (this.cameraStyle == CameraStyle.lockOn) { var targetX = this.targetEntity.position.x; @@ -1718,79 +1916,81 @@ var Camera = (function(_super) { } else { if (!this._targetCollider) { this._targetCollider = this.targetEntity.getComponent(Collider); - if (!this._targetCollider) - return; + if (!this._targetCollider) return; } var targetBounds = this.targetEntity.getComponent(Collider).bounds; if (!this._worldSpaceDeadZone.containsRect(targetBounds)) { if (this._worldSpaceDeadZone.left > targetBounds.left) this._desiredPositionDelta.x = - targetBounds.left - this._worldSpaceDeadZone.left; + targetBounds.left - this._worldSpaceDeadZone.left; else if (this._worldSpaceDeadZone.right < targetBounds.right) this._desiredPositionDelta.x = - targetBounds.right - this._worldSpaceDeadZone.right; + targetBounds.right - this._worldSpaceDeadZone.right; if (this._worldSpaceDeadZone.bottom < targetBounds.bottom) this._desiredPositionDelta.y = - targetBounds.bottom - this._worldSpaceDeadZone.bottom; + targetBounds.bottom - this._worldSpaceDeadZone.bottom; else if (this._worldSpaceDeadZone.top > targetBounds.top) this._desiredPositionDelta.y = - targetBounds.top - this._worldSpaceDeadZone.top; + targetBounds.top - this._worldSpaceDeadZone.top; } } }; return Camera; -}(Component)); +})(Component); var CameraStyle; -(function(CameraStyle) { -CameraStyle[CameraStyle["lockOn"] = 0] = "lockOn"; -CameraStyle[CameraStyle["cameraWindow"] = 1] = "cameraWindow"; +(function (CameraStyle) { + CameraStyle[(CameraStyle["lockOn"] = 0)] = "lockOn"; + CameraStyle[(CameraStyle["cameraWindow"] = 1)] = "cameraWindow"; })(CameraStyle || (CameraStyle = {})); -var ComponentPool = (function() { +var ComponentPool = (function () { function ComponentPool(typeClass) { this._type = typeClass; this._cache = []; } - ComponentPool.prototype.obtain = function() { + ComponentPool.prototype.obtain = function () { try { return this._cache.length > 0 ? this._cache.shift() : new this._type(); } catch (err) { throw new Error(this._type + err); } }; - ComponentPool.prototype.free = function(component) { + ComponentPool.prototype.free = function (component) { component.reset(); this._cache.push(component); }; return ComponentPool; -}()); -var Mesh = (function(_super) { +})(); +var Mesh = (function (_super) { __extends(Mesh, _super); function Mesh() { - return _super !== null && _super.apply(this, arguments) || this; + return (_super !== null && _super.apply(this, arguments)) || this; } - Mesh.prototype.initialize = function() {}; - Mesh.prototype.setVertPosition = function(positions) { + Mesh.prototype.initialize = function () {}; + Mesh.prototype.setVertPosition = function (positions) { var createVerts = !this._verts || this._verts.length != positions.length; - if (createVerts) - this._verts = new Array(positions.length); + if (createVerts) this._verts = new Array(positions.length); for (var i = 0; i < this._verts.length; i++) { this._verts[i] = new VertexPosition(positions[i]); } return this; }; - Mesh.prototype.setTriangles = function(triangles) { + Mesh.prototype.setTriangles = function (triangles) { this._primitiveCount = triangles.length / 3; this._triangles = triangles; return this; }; - Mesh.prototype.recalculateBounds = function() { + Mesh.prototype.recalculateBounds = function () { this._topLeftVertPosition = new Vector2(Number.MAX_VALUE, Number.MAX_VALUE); var max = new Vector2(Number.MIN_VALUE, Number.MIN_VALUE); for (var i = 0; i < this._verts.length; i++) { - this._topLeftVertPosition.x = - Math.min(this._topLeftVertPosition.x, this._verts[i].position.x); - this._topLeftVertPosition.y = - Math.min(this._topLeftVertPosition.y, this._verts[i].position.y); + this._topLeftVertPosition.x = Math.min( + this._topLeftVertPosition.x, + this._verts[i].position.x + ); + this._topLeftVertPosition.y = Math.min( + this._topLeftVertPosition.y, + this._verts[i].position.y + ); max.x = Math.max(max.x, this._verts[i].position.x); max.y = Math.max(max.y, this._verts[i].position.y); } @@ -1798,14 +1998,16 @@ var Mesh = (function(_super) { this._height = max.y - this._topLeftVertPosition.y; return this; }; - Mesh.prototype.render = function() {}; + Mesh.prototype.render = function () {}; return Mesh; -}(Component)); -var VertexPosition = (function() { - function VertexPosition(position) { this.position = position; } +})(Component); +var VertexPosition = (function () { + function VertexPosition(position) { + this.position = position; + } return VertexPosition; -}()); -var PolygonMesh = (function(_super) { +})(); +var PolygonMesh = (function (_super) { __extends(PolygonMesh, _super); function PolygonMesh(points, arePointsCCW) { if (arePointsCCW === void 0) { @@ -1820,18 +2022,18 @@ var PolygonMesh = (function(_super) { return _this; } return PolygonMesh; -}(Mesh)); -var PooledComponent = (function(_super) { +})(Mesh); +var PooledComponent = (function (_super) { __extends(PooledComponent, _super); function PooledComponent() { - return _super !== null && _super.apply(this, arguments) || this; + return (_super !== null && _super.apply(this, arguments)) || this; } return PooledComponent; -}(Component)); -var RenderableComponent = (function(_super) { +})(Component); +var RenderableComponent = (function (_super) { __extends(RenderableComponent, _super); function RenderableComponent() { - var _this = _super !== null && _super.apply(this, arguments) || this; + var _this = (_super !== null && _super.apply(this, arguments)) || this; _this._areBoundsDirty = true; _this._bounds = new Rectangle(); _this._localOffset = Vector2.zero; @@ -1839,62 +2041,77 @@ var RenderableComponent = (function(_super) { return _this; } Object.defineProperty(RenderableComponent.prototype, "width", { - get : function() { return this.getWidth(); }, - enumerable : true, - configurable : true + get: function () { + return this.getWidth(); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(RenderableComponent.prototype, "height", { - get : function() { return this.getHeight(); }, - enumerable : true, - configurable : true + get: function () { + return this.getHeight(); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(RenderableComponent.prototype, "isVisible", { - get : function() { return this._isVisible; }, - set : function(value) { - this._isVisible = value; - if (this._isVisible) - this.onBecameVisible(); - else - this.onBecameInvisible(); + get: function () { + return this._isVisible; }, - enumerable : true, - configurable : true + set: function (value) { + this._isVisible = value; + if (this._isVisible) this.onBecameVisible(); + else this.onBecameInvisible(); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(RenderableComponent.prototype, "bounds", { - get : function() { - return new Rectangle(this.getBounds().x, this.getBounds().y, - this.getBounds().width, this.getBounds().height); + get: function () { + return new Rectangle( + this.getBounds().x, + this.getBounds().y, + this.getBounds().width, + this.getBounds().height + ); }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); - RenderableComponent.prototype.getWidth = - function() { return this.bounds.width; }; - RenderableComponent.prototype.getHeight = - function() { return this.bounds.height; }; - RenderableComponent.prototype.onBecameVisible = function() {}; - RenderableComponent.prototype.onBecameInvisible = function() {}; - RenderableComponent.prototype.isVisibleFromCamera = function(camera) { + RenderableComponent.prototype.getWidth = function () { + return this.bounds.width; + }; + RenderableComponent.prototype.getHeight = function () { + return this.bounds.height; + }; + RenderableComponent.prototype.onBecameVisible = function () {}; + RenderableComponent.prototype.onBecameInvisible = function () {}; + RenderableComponent.prototype.isVisibleFromCamera = function (camera) { this.isVisible = camera.getBounds().intersects(this.getBounds()); return this.isVisible; }; - RenderableComponent.prototype.onEntityTransformChanged = function( - comp) { this._areBoundsDirty = true; }; + RenderableComponent.prototype.onEntityTransformChanged = function (comp) { + this._areBoundsDirty = true; + }; return RenderableComponent; -}(PooledComponent)); -var ScreenSpaceCamera = (function(_super) { +})(PooledComponent); +var ScreenSpaceCamera = (function (_super) { __extends(ScreenSpaceCamera, _super); function ScreenSpaceCamera() { - return _super !== null && _super.apply(this, arguments) || this; + return (_super !== null && _super.apply(this, arguments)) || this; } - ScreenSpaceCamera.prototype.updateMatrixes = function() {}; + ScreenSpaceCamera.prototype.updateMatrixes = function () {}; return ScreenSpaceCamera; -}(Camera)); -var Sprite = (function() { +})(Camera); +var Sprite = (function () { function Sprite(texture, sourceRect, origin) { if (sourceRect === void 0) { - sourceRect = - new Rectangle(0, 0, texture.textureWidth, texture.textureHeight); + sourceRect = new Rectangle( + 0, + 0, + texture.textureWidth, + texture.textureHeight + ); } if (origin === void 0) { origin = sourceRect.getHalfSize(); @@ -1912,72 +2129,103 @@ var Sprite = (function() { this.uvs.height = sourceRect.height * inverseTexH; } return Sprite; -}()); -var SpriteRenderer = (function(_super) { +})(); +var SpriteRenderer = (function (_super) { __extends(SpriteRenderer, _super); function SpriteRenderer() { - return _super !== null && _super.apply(this, arguments) || this; + return (_super !== null && _super.apply(this, arguments)) || this; } Object.defineProperty(SpriteRenderer.prototype, "origin", { - get : function() { return this._origin; }, - set : function(value) { this.setOrigin(value); }, - enumerable : true, - configurable : true + get: function () { + return this._origin; + }, + set: function (value) { + this.setOrigin(value); + }, + enumerable: true, + configurable: true, }); - SpriteRenderer.prototype.setOrigin = function(origin) { + SpriteRenderer.prototype.setOrigin = function (origin) { if (this._origin != origin) { this._origin = origin; } return this; }; - SpriteRenderer.prototype.setSprite = function(sprite) { + SpriteRenderer.prototype.setSprite = function (sprite) { this.removeChildren(); this._sprite = sprite; - if (this._sprite) - this._origin = this._sprite.origin; + if (this._sprite) this._origin = this._sprite.origin; this._bitmap = new egret.Bitmap(sprite.texture2D); this.addChild(this._bitmap); return this; }; - SpriteRenderer.prototype.setColor = function(color) { - var colorMatrix = - [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0 ]; + SpriteRenderer.prototype.setColor = function (color) { + var colorMatrix = [ + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + ]; colorMatrix[0] = Math.floor(color / 256 / 256) / 255; - colorMatrix[6] = Math.floor(color / 256 % 256) / 255; - colorMatrix[12] = color % 256 / 255; + colorMatrix[6] = Math.floor((color / 256) % 256) / 255; + colorMatrix[12] = (color % 256) / 255; var colorFilter = new egret.ColorMatrixFilter(colorMatrix); - this.filters = [ colorFilter ]; + this.filters = [colorFilter]; return this; }; - SpriteRenderer.prototype.isVisibleFromCamera = function(camera) { - this.isVisible = - new Rectangle(0, 0, this.stage.stageWidth, this.stage.stageHeight) - .intersects(this.bounds); + SpriteRenderer.prototype.isVisibleFromCamera = function (camera) { + this.isVisible = new Rectangle( + 0, + 0, + this.stage.stageWidth, + this.stage.stageHeight + ).intersects(this.bounds); this.visible = this.isVisible; return this.isVisible; }; - SpriteRenderer.prototype.render = function(camera) { - this.x = this.entity.position.x - this.origin.x - camera.position.x + - camera.origin.x; - this.y = this.entity.position.y - this.origin.y - camera.position.y + - camera.origin.y; + SpriteRenderer.prototype.render = function (camera) { + this.x = + this.entity.position.x - + this.origin.x - + camera.position.x + + camera.origin.x; + this.y = + this.entity.position.y - + this.origin.y - + camera.position.y + + camera.origin.y; }; - SpriteRenderer.prototype.onRemovedFromEntity = function() { - if (this.parent) - this.parent.removeChild(this); + SpriteRenderer.prototype.onRemovedFromEntity = function () { + if (this.parent) this.parent.removeChild(this); }; - SpriteRenderer.prototype.reset = function() {}; + SpriteRenderer.prototype.reset = function () {}; return SpriteRenderer; -}(RenderableComponent)); -var Mover = (function(_super) { +})(RenderableComponent); +var Mover = (function (_super) { __extends(Mover, _super); function Mover() { - return _super !== null && _super.apply(this, arguments) || this; + return (_super !== null && _super.apply(this, arguments)) || this; } - Mover.prototype.onAddedToEntity = function() { + Mover.prototype.onAddedToEntity = function () { this._triggerHelper = new ColliderTriggerHelper(this.entity); }; - Mover.prototype.calculateMovement = function(motion) { + Mover.prototype.calculateMovement = function (motion) { var collisionResult = new CollisionResult(); if (!this.entity.getComponent(Collider) || !this._triggerHelper) { return null; @@ -1985,21 +2233,24 @@ var Mover = (function(_super) { var colliders = this.entity.getComponents(Collider); for (var i = 0; i < colliders.length; i++) { var collider = colliders[i]; - if (collider.isTrigger) - continue; + if (collider.isTrigger) continue; var bounds = collider.bounds; bounds.x += motion.x; bounds.y += motion.y; var neighbors = Physics.boxcastBroadphaseExcludingSelf( - collider, bounds, collider.collidesWithLayers); + collider, + bounds, + collider.collidesWithLayers + ); for (var j = 0; j < neighbors.length; j++) { var neighbor = neighbors[j]; - if (neighbor.isTrigger) - continue; + if (neighbor.isTrigger) continue; var _internalcollisionResult = collider.collidesWith(neighbor, motion); if (_internalcollisionResult) { motion = Vector2.subtract( - motion, _internalcollisionResult.minimumTranslationVector); + motion, + _internalcollisionResult.minimumTranslationVector + ); if (_internalcollisionResult.collider) { collisionResult = _internalcollisionResult; } @@ -2009,22 +2260,21 @@ var Mover = (function(_super) { ListPool.free(colliders); return collisionResult; }; - Mover.prototype.applyMovement = function(motion) { + Mover.prototype.applyMovement = function (motion) { this.entity.position = Vector2.add(this.entity.position, motion); - if (this._triggerHelper) - this._triggerHelper.update(); + if (this._triggerHelper) this._triggerHelper.update(); }; - Mover.prototype.move = function(motion) { + Mover.prototype.move = function (motion) { var collisionResult = this.calculateMovement(motion); this.applyMovement(motion); return collisionResult; }; return Mover; -}(Component)); -var Collider = (function(_super) { +})(Component); +var Collider = (function (_super) { __extends(Collider, _super); function Collider() { - var _this = _super !== null && _super.apply(this, arguments) || this; + var _this = (_super !== null && _super.apply(this, arguments)) || this; _this.physicsLayer = 1 << 0; _this.shouldColliderScaleAndRotationWithTransform = true; _this.collidesWithLayers = Physics.allLayers; @@ -2034,23 +2284,27 @@ var Collider = (function(_super) { return _this; } Object.defineProperty(Collider.prototype, "bounds", { - get : function() { + get: function () { if (this._isPositionDirty || this._isRotationDirty) { this.shape.recalculateBounds(this); this._isPositionDirty = this._isRotationDirty = false; } return this.shape.bounds; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Collider.prototype, "localOffset", { - get : function() { return this._localOffset; }, - set : function(value) { this.setLocalOffset(value); }, - enumerable : true, - configurable : true + get: function () { + return this._localOffset; + }, + set: function (value) { + this.setLocalOffset(value); + }, + enumerable: true, + configurable: true, }); - Collider.prototype.setLocalOffset = function(offset) { + Collider.prototype.setLocalOffset = function (offset) { if (this._localOffset != offset) { this.unregisterColliderWithPhysicsSystem(); this._localOffset = offset; @@ -2059,34 +2313,35 @@ var Collider = (function(_super) { this.registerColliderWithPhysicsSystem(); } }; - Collider.prototype.registerColliderWithPhysicsSystem = function() { + Collider.prototype.registerColliderWithPhysicsSystem = function () { if (this._isParentEntityAddedToScene && !this._isColliderRegistered) { Physics.addCollider(this); this._isColliderRegistered = true; } }; - Collider.prototype.unregisterColliderWithPhysicsSystem = function() { + Collider.prototype.unregisterColliderWithPhysicsSystem = function () { if (this._isParentEntityAddedToScene && this._isColliderRegistered) { Physics.removeCollider(this); } this._isColliderRegistered = false; }; - Collider.prototype.overlaps = function( - other) { return this.shape.overlaps(other.shape); }; - Collider.prototype.collidesWith = function(collider, motion) { + Collider.prototype.overlaps = function (other) { + return this.shape.overlaps(other.shape); + }; + Collider.prototype.collidesWith = function (collider, motion) { var oldPosition = this.shape.position; this.shape.position = Vector2.add(this.shape.position, motion); var result = this.shape.collidesWithShape(collider.shape); - if (result) - result.collider = collider; + if (result) result.collider = collider; this.shape.position = oldPosition; return result; }; - Collider.prototype.onAddedToEntity = function() { + Collider.prototype.onAddedToEntity = function () { if (this._colliderRequiresAutoSizing) { if (!(this instanceof BoxCollider)) { console.error( - "Only box and circle colliders can be created automatically"); + "Only box and circle colliders can be created automatically" + ); } var renderable = this.entity.getComponent(RenderableComponent); if (renderable) { @@ -2097,42 +2352,44 @@ var Collider = (function(_super) { var boxCollider = this; boxCollider.width = width; boxCollider.height = height; - this.localOffset = - Vector2.subtract(renderbaleBounds.center, this.entity.position); + this.localOffset = Vector2.subtract( + renderbaleBounds.center, + this.entity.position + ); } } } this._isParentEntityAddedToScene = true; this.registerColliderWithPhysicsSystem(); }; - Collider.prototype.onRemovedFromEntity = function() { + Collider.prototype.onRemovedFromEntity = function () { this.unregisterColliderWithPhysicsSystem(); this._isParentEntityAddedToScene = false; }; - Collider.prototype.onEntityTransformChanged = function(comp) { + Collider.prototype.onEntityTransformChanged = function (comp) { switch (comp) { - case ComponentTransform.position: - this._isPositionDirty = true; - break; - case ComponentTransform.scale: - this._isPositionDirty = true; - break; - case ComponentTransform.rotation: - this._isRotationDirty = true; - break; + case ComponentTransform.position: + this._isPositionDirty = true; + break; + case ComponentTransform.scale: + this._isPositionDirty = true; + break; + case ComponentTransform.rotation: + this._isRotationDirty = true; + break; } - if (this._isColliderRegistered) - Physics.updateCollider(this); + if (this._isColliderRegistered) Physics.updateCollider(this); }; - Collider.prototype.onEnabled = function() { + Collider.prototype.onEnabled = function () { this.registerColliderWithPhysicsSystem(); this._isPositionDirty = this._isRotationDirty = true; }; - Collider.prototype.onDisabled = - function() { this.unregisterColliderWithPhysicsSystem(); }; + Collider.prototype.onDisabled = function () { + this.unregisterColliderWithPhysicsSystem(); + }; return Collider; -}(Component)); -var BoxCollider = (function(_super) { +})(Component); +var BoxCollider = (function (_super) { __extends(BoxCollider, _super); function BoxCollider() { var _this = _super.call(this) || this; @@ -2141,12 +2398,16 @@ var BoxCollider = (function(_super) { return _this; } Object.defineProperty(BoxCollider.prototype, "width", { - get : function() { return this.shape.width; }, - set : function(value) { this.setWidth(value); }, - enumerable : true, - configurable : true + get: function () { + return this.shape.width; + }, + set: function (value) { + this.setWidth(value); + }, + enumerable: true, + configurable: true, }); - BoxCollider.prototype.setWidth = function(width) { + BoxCollider.prototype.setWidth = function (width) { this._colliderRequiresAutoSizing = false; var box = this.shape; if (width != box.width) { @@ -2158,12 +2419,16 @@ var BoxCollider = (function(_super) { return this; }; Object.defineProperty(BoxCollider.prototype, "height", { - get : function() { return this.shape.height; }, - set : function(value) { this.setHeight(value); }, - enumerable : true, - configurable : true + get: function () { + return this.shape.height; + }, + set: function (value) { + this.setHeight(value); + }, + enumerable: true, + configurable: true, }); - BoxCollider.prototype.setHeight = function(height) { + BoxCollider.prototype.setHeight = function (height) { this._colliderRequiresAutoSizing = false; var box = this.shape; if (height != box.height) { @@ -2173,7 +2438,7 @@ var BoxCollider = (function(_super) { Physics.updateCollider(this); } }; - BoxCollider.prototype.setSize = function(width, height) { + BoxCollider.prototype.setSize = function (width, height) { this._colliderRequiresAutoSizing = false; var box = this.shape; if (width != box.width || height != box.height) { @@ -2185,189 +2450,184 @@ var BoxCollider = (function(_super) { return this; }; return BoxCollider; -}(Collider)); -var EntitySystem = (function() { +})(Collider); +var EntitySystem = (function () { function EntitySystem(matcher) { this._entities = []; this._matcher = matcher ? matcher : Matcher.empty(); } Object.defineProperty(EntitySystem.prototype, "matcher", { - get : function() { return this._matcher; }, - enumerable : true, - configurable : true + get: function () { + return this._matcher; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(EntitySystem.prototype, "scene", { - get : function() { return this._scene; }, - set : function(value) { + get: function () { + return this._scene; + }, + set: function (value) { this._scene = value; this._entities = []; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); - EntitySystem.prototype.initialize = function() {}; - EntitySystem.prototype.onChanged = function(entity) { + EntitySystem.prototype.initialize = function () {}; + EntitySystem.prototype.onChanged = function (entity) { var contains = this._entities.contains(entity); var interest = this._matcher.IsIntersted(entity); - if (interest && !contains) - this.add(entity); - else if (!interest && contains) - this.remove(entity); + if (interest && !contains) this.add(entity); + else if (!interest && contains) this.remove(entity); }; - EntitySystem.prototype.add = function(entity) { + EntitySystem.prototype.add = function (entity) { this._entities.push(entity); this.onAdded(entity); }; - EntitySystem.prototype.onAdded = function(entity) {}; - EntitySystem.prototype.remove = function(entity) { + EntitySystem.prototype.onAdded = function (entity) {}; + EntitySystem.prototype.remove = function (entity) { this._entities.remove(entity); this.onRemoved(entity); }; - EntitySystem.prototype.onRemoved = function(entity) {}; - EntitySystem.prototype.update = function() { + EntitySystem.prototype.onRemoved = function (entity) {}; + EntitySystem.prototype.update = function () { this.begin(); this.process(this._entities); }; - EntitySystem.prototype.lateUpdate = function() { + EntitySystem.prototype.lateUpdate = function () { this.lateProcess(this._entities); this.end(); }; - EntitySystem.prototype.begin = function() {}; - EntitySystem.prototype.process = function(entities) {}; - EntitySystem.prototype.lateProcess = function(entities) {}; - EntitySystem.prototype.end = function() {}; + EntitySystem.prototype.begin = function () {}; + EntitySystem.prototype.process = function (entities) {}; + EntitySystem.prototype.lateProcess = function (entities) {}; + EntitySystem.prototype.end = function () {}; return EntitySystem; -}()); -var EntityProcessingSystem = (function(_super) { +})(); +var EntityProcessingSystem = (function (_super) { __extends(EntityProcessingSystem, _super); function EntityProcessingSystem(matcher) { return _super.call(this, matcher) || this; } - EntityProcessingSystem.prototype.lateProcessEntity = function(entity) {}; - EntityProcessingSystem.prototype.process = function(entities) { + EntityProcessingSystem.prototype.lateProcessEntity = function (entity) {}; + EntityProcessingSystem.prototype.process = function (entities) { var _this = this; - entities.forEach(function(entity) { return _this.processEntity(entity); }); + entities.forEach(function (entity) { + return _this.processEntity(entity); + }); }; - EntityProcessingSystem.prototype.lateProcess = function(entities) { + EntityProcessingSystem.prototype.lateProcess = function (entities) { var _this = this; - entities.forEach(function( - entity) { return _this.lateProcessEntity(entity); }); + entities.forEach(function (entity) { + return _this.lateProcessEntity(entity); + }); }; return EntityProcessingSystem; -}(EntitySystem)); -var PassiveSystem = (function(_super) { +})(EntitySystem); +var PassiveSystem = (function (_super) { __extends(PassiveSystem, _super); function PassiveSystem() { - return _super !== null && _super.apply(this, arguments) || this; + return (_super !== null && _super.apply(this, arguments)) || this; } - PassiveSystem.prototype.onChanged = function(entity) {}; - PassiveSystem.prototype.process = function(entities) { + PassiveSystem.prototype.onChanged = function (entity) {}; + PassiveSystem.prototype.process = function (entities) { this.begin(); this.end(); }; return PassiveSystem; -}(EntitySystem)); -var ProcessingSystem = (function(_super) { +})(EntitySystem); +var ProcessingSystem = (function (_super) { __extends(ProcessingSystem, _super); function ProcessingSystem() { - return _super !== null && _super.apply(this, arguments) || this; + return (_super !== null && _super.apply(this, arguments)) || this; } - ProcessingSystem.prototype.onChanged = function(entity) {}; - ProcessingSystem.prototype.process = function(entities) { + ProcessingSystem.prototype.onChanged = function (entity) {}; + ProcessingSystem.prototype.process = function (entities) { this.begin(); this.processSystem(); this.end(); }; return ProcessingSystem; -}(EntitySystem)); -var BitSet = (function() { +})(EntitySystem); +var BitSet = (function () { function BitSet(nbits) { if (nbits === void 0) { nbits = 64; } var length = nbits >> 6; - if ((nbits & BitSet.LONG_MASK) != 0) - length++; + if ((nbits & BitSet.LONG_MASK) != 0) length++; this._bits = new Array(length); } - BitSet.prototype.and = function(bs) { + BitSet.prototype.and = function (bs) { var max = Math.min(this._bits.length, bs._bits.length); var i; - for (var i_1 = 0; i_1 < max; ++i_1) - this._bits[i_1] &= bs._bits[i_1]; - while (i < this._bits.length) - this._bits[i++] = 0; + for (var i_1 = 0; i_1 < max; ++i_1) this._bits[i_1] &= bs._bits[i_1]; + while (i < this._bits.length) this._bits[i++] = 0; }; - BitSet.prototype.andNot = function(bs) { + BitSet.prototype.andNot = function (bs) { var i = Math.min(this._bits.length, bs._bits.length); - while (--i >= 0) - this._bits[i] &= ~bs._bits[i]; + while (--i >= 0) this._bits[i] &= ~bs._bits[i]; }; - BitSet.prototype.cardinality = function() { + BitSet.prototype.cardinality = function () { var card = 0; for (var i = this._bits.length - 1; i >= 0; i--) { var a = this._bits[i]; - if (a == 0) - continue; + if (a == 0) continue; if (a == -1) { card += 64; continue; } a = ((a >> 1) & 0x5555555555555555) + (a & 0x5555555555555555); a = ((a >> 2) & 0x3333333333333333) + (a & 0x3333333333333333); - var b = ((a >> 32) + a); + var b = (a >> 32) + a; b = ((b >> 4) & 0x0f0f0f0f) + (b & 0x0f0f0f0f); b = ((b >> 8) & 0x00ff00ff) + (b & 0x00ff00ff); card += ((b >> 16) & 0x0000ffff) + (b & 0x0000ffff); } return card; }; - BitSet.prototype.clear = function(pos) { + BitSet.prototype.clear = function (pos) { if (pos != undefined) { var offset = pos >> 6; this.ensure(offset); this._bits[offset] &= ~(1 << pos); } else { - for (var i = 0; i < this._bits.length; i++) - this._bits[i] = 0; + for (var i = 0; i < this._bits.length; i++) this._bits[i] = 0; } }; - BitSet.prototype.ensure = function(lastElt) { + BitSet.prototype.ensure = function (lastElt) { if (lastElt >= this._bits.length) { - var nd = new Number[lastElt + 1]; + var nd = new Number[lastElt + 1](); nd = this._bits.copyWithin(0, 0, this._bits.length); this._bits = nd; } }; - BitSet.prototype.get = function(pos) { + BitSet.prototype.get = function (pos) { var offset = pos >> 6; - if (offset >= this._bits.length) - return false; + if (offset >= this._bits.length) return false; return (this._bits[offset] & (1 << pos)) != 0; }; - BitSet.prototype.intersects = function(set) { + BitSet.prototype.intersects = function (set) { var i = Math.min(this._bits.length, set._bits.length); while (--i >= 0) { - if ((this._bits[i] & set._bits[i]) != 0) - return true; + if ((this._bits[i] & set._bits[i]) != 0) return true; } return false; }; - BitSet.prototype.isEmpty = function() { + BitSet.prototype.isEmpty = function () { for (var i = this._bits.length - 1; i >= 0; i--) { - if (this._bits[i]) - return false; + if (this._bits[i]) return false; } return true; }; - BitSet.prototype.nextSetBit = function(from) { + BitSet.prototype.nextSetBit = function (from) { var offset = from >> 6; var mask = 1 << from; while (offset < this._bits.length) { var h = this._bits[offset]; do { - if ((h & mask) != 0) - return from; + if ((h & mask) != 0) return from; mask <<= 1; from++; } while (mask != 0); @@ -2376,7 +2636,7 @@ var BitSet = (function() { } return -1; }; - BitSet.prototype.set = function(pos, value) { + BitSet.prototype.set = function (pos, value) { if (value === void 0) { value = true; } @@ -2390,8 +2650,8 @@ var BitSet = (function() { }; BitSet.LONG_MASK = 0x3f; return BitSet; -}()); -var ComponentList = (function() { +})(); +var ComponentList = (function () { function ComponentList(entity) { this._components = []; this._componentsToAdd = []; @@ -2400,25 +2660,30 @@ var ComponentList = (function() { this._entity = entity; } Object.defineProperty(ComponentList.prototype, "count", { - get : function() { return this._components.length; }, - enumerable : true, - configurable : true + get: function () { + return this._components.length; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(ComponentList.prototype, "buffer", { - get : function() { return this._components; }, - enumerable : true, - configurable : true + get: function () { + return this._components; + }, + enumerable: true, + configurable: true, }); - ComponentList.prototype.add = function( - component) { this._componentsToAdd.push(component); }; - ComponentList.prototype.remove = function(component) { + ComponentList.prototype.add = function (component) { + this._componentsToAdd.push(component); + }; + ComponentList.prototype.remove = function (component) { if (this._componentsToAdd.contains(component)) { this._componentsToAdd.remove(component); return; } this._componentsToRemove.push(component); }; - ComponentList.prototype.removeAllComponents = function() { + ComponentList.prototype.removeAllComponents = function () { for (var i = 0; i < this._components.length; i++) { this.handleRemove(this._components[i]); } @@ -2426,27 +2691,30 @@ var ComponentList = (function() { this._componentsToAdd.length = 0; this._componentsToRemove.length = 0; }; - ComponentList.prototype.deregisterAllComponents = function() { + ComponentList.prototype.deregisterAllComponents = function () { for (var i = 0; i < this._components.length; i++) { var component = this._components[i]; if (component instanceof RenderableComponent) this._entity.scene.renderableComponents.remove(component); this._entity.componentBits.set( - ComponentTypeManager.getIndexFor(component), false); + ComponentTypeManager.getIndexFor(component), + false + ); this._entity.scene.entityProcessors.onComponentRemoved(this._entity); } }; - ComponentList.prototype.registerAllComponents = function() { + ComponentList.prototype.registerAllComponents = function () { for (var i = 0; i < this._components.length; i++) { var component = this._components[i]; if (component instanceof RenderableComponent) this._entity.scene.renderableComponents.add(component); this._entity.componentBits.set( - ComponentTypeManager.getIndexFor(component)); + ComponentTypeManager.getIndexFor(component) + ); this._entity.scene.entityProcessors.onComponentAdded(this._entity); } }; - ComponentList.prototype.updateLists = function() { + ComponentList.prototype.updateLists = function () { if (this._componentsToRemove.length > 0) { for (var i = 0; i < this._componentsToRemove.length; i++) { this.handleRemove(this._componentsToRemove[i]); @@ -2460,7 +2728,8 @@ var ComponentList = (function() { if (component instanceof RenderableComponent) this._entity.scene.renderableComponents.add(component); this._entity.componentBits.set( - ComponentTypeManager.getIndexFor(component)); + ComponentTypeManager.getIndexFor(component) + ); this._entity.scene.entityProcessors.onComponentAdded(this._entity); this._components.push(component); this._tempBufferList.push(component); @@ -2476,37 +2745,38 @@ var ComponentList = (function() { this._tempBufferList.length = 0; } }; - ComponentList.prototype.handleRemove = function(component) { + ComponentList.prototype.handleRemove = function (component) { if (component instanceof RenderableComponent) this._entity.scene.renderableComponents.remove(component); - this._entity.componentBits.set(ComponentTypeManager.getIndexFor(component), - false); + this._entity.componentBits.set( + ComponentTypeManager.getIndexFor(component), + false + ); this._entity.scene.entityProcessors.onComponentRemoved(this._entity); component.onRemovedFromEntity(); component.entity = null; }; - ComponentList.prototype.getComponent = function( - type, onlyReturnInitializedComponents) { + ComponentList.prototype.getComponent = function ( + type, + onlyReturnInitializedComponents + ) { for (var i = 0; i < this._components.length; i++) { var component = this._components[i]; - if (component instanceof type) - return component; + if (component instanceof type) return component; } if (!onlyReturnInitializedComponents) { for (var i = 0; i < this._componentsToAdd.length; i++) { var component = this._componentsToAdd[i]; - if (component instanceof type) - return component; + if (component instanceof type) return component; } } return null; }; - ComponentList.prototype.getComponents = function(typeName, components) { - if (!components) - components = []; + ComponentList.prototype.getComponents = function (typeName, components) { + if (!components) components = []; for (var i = 0; i < this._components.length; i++) { var component = this._components[i]; - if (typeof (typeName) == "string") { + if (typeof typeName == "string") { if (egret.is(component, typeName)) { components.push(component); } @@ -2518,7 +2788,7 @@ var ComponentList = (function() { } for (var i = 0; i < this._componentsToAdd.length; i++) { var component = this._componentsToAdd[i]; - if (typeof (typeName) == "string") { + if (typeof typeName == "string") { if (egret.is(component, typeName)) { components.push(component); } @@ -2530,17 +2800,19 @@ var ComponentList = (function() { } return components; }; - ComponentList.prototype.update = function() { + ComponentList.prototype.update = function () { this.updateLists(); for (var i = 0; i < this._components.length; i++) { var component = this._components[i]; - if (component.enabled && - (component.updateInterval == 1 || - Time.frameCount % component.updateInterval == 0)) + if ( + component.enabled && + (component.updateInterval == 1 || + Time.frameCount % component.updateInterval == 0) + ) component.update(); } }; - ComponentList.prototype.onEntityTransformChanged = function(comp) { + ComponentList.prototype.onEntityTransformChanged = function (comp) { for (var i = 0; i < this._components.length; i++) { if (this._components[i].enabled) this._components[i].onEntityTransformChanged(comp); @@ -2551,14 +2823,14 @@ var ComponentList = (function() { } }; return ComponentList; -}()); -var ComponentTypeManager = (function() { +})(); +var ComponentTypeManager = (function () { function ComponentTypeManager() {} - ComponentTypeManager.add = function(type) { + ComponentTypeManager.add = function (type) { if (!this._componentTypesMask.has(type)) this._componentTypesMask[type] = this._componentTypesMask.size; }; - ComponentTypeManager.getIndexFor = function(type) { + ComponentTypeManager.getIndexFor = function (type) { var v = -1; if (!this._componentTypesMask.has(type)) { this.add(type); @@ -2568,8 +2840,8 @@ var ComponentTypeManager = (function() { }; ComponentTypeManager._componentTypesMask = new Map(); return ComponentTypeManager; -}()); -var EntityList = (function() { +})(); +var EntityList = (function () { function EntityList(scene) { this._entitiesToRemove = []; this._entitiesToAdded = []; @@ -2580,20 +2852,24 @@ var EntityList = (function() { this.scene = scene; } Object.defineProperty(EntityList.prototype, "count", { - get : function() { return this._entities.length; }, - enumerable : true, - configurable : true + get: function () { + return this._entities.length; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(EntityList.prototype, "buffer", { - get : function() { return this._entities; }, - enumerable : true, - configurable : true + get: function () { + return this._entities; + }, + enumerable: true, + configurable: true, }); - EntityList.prototype.add = function(entity) { + EntityList.prototype.add = function (entity) { if (this._entitiesToAdded.indexOf(entity) == -1) this._entitiesToAdded.push(entity); }; - EntityList.prototype.remove = function(entity) { + EntityList.prototype.remove = function (entity) { if (this._entitiesToAdded.contains(entity)) { this._entitiesToAdded.remove(entity); return; @@ -2601,15 +2877,15 @@ var EntityList = (function() { if (!this._entitiesToRemove.contains(entity)) this._entitiesToRemove.push(entity); }; - EntityList.prototype.findEntity = function(name) { + EntityList.prototype.findEntity = function (name) { for (var i = 0; i < this._entities.length; i++) { - if (this._entities[i].name == name) - return this._entities[i]; + if (this._entities[i].name == name) return this._entities[i]; } - return this._entitiesToAdded.firstOrDefault(function( - entity) { return entity.name == name; }); + return this._entitiesToAdded.firstOrDefault(function (entity) { + return entity.name == name; + }); }; - EntityList.prototype.getTagList = function(tag) { + EntityList.prototype.getTagList = function (tag) { var list = this._entityDict.get(tag); if (!list) { list = []; @@ -2617,27 +2893,26 @@ var EntityList = (function() { } return this._entityDict.get(tag); }; - EntityList.prototype.addToTagList = function(entity) { + EntityList.prototype.addToTagList = function (entity) { var list = this.getTagList(entity.tag); if (!list.contains(entity)) { list.push(entity); this._unsortedTags.push(entity.tag); } }; - EntityList.prototype.removeFromTagList = function(entity) { + EntityList.prototype.removeFromTagList = function (entity) { var list = this._entityDict.get(entity.tag); if (list) { list.remove(entity); } }; - EntityList.prototype.update = function() { + EntityList.prototype.update = function () { for (var i = 0; i < this._entities.length; i++) { var entity = this._entities[i]; - if (entity.enabled) - entity.update(); + if (entity.enabled) entity.update(); } }; - EntityList.prototype.removeAllEntities = function() { + EntityList.prototype.removeAllEntities = function () { this._entitiesToAdded.length = 0; this.updateLists(); for (var i = 0; i < this._entities.length; i++) { @@ -2648,13 +2923,13 @@ var EntityList = (function() { this._entities.length = 0; this._entityDict.clear(); }; - EntityList.prototype.updateLists = function() { + EntityList.prototype.updateLists = function () { var _this = this; if (this._entitiesToRemove.length > 0) { var temp = this._entitiesToRemove; this._entitiesToRemove = this._tempEntityList; this._tempEntityList = temp; - this._tempEntityList.forEach(function(entity) { + this._tempEntityList.forEach(function (entity) { _this._entities.remove(entity); entity.scene = null; _this.scene.entityProcessors.onEntityRemoved(entity); @@ -2665,151 +2940,182 @@ var EntityList = (function() { var temp = this._entitiesToAdded; this._entitiesToAdded = this._tempEntityList; this._tempEntityList = temp; - this._tempEntityList.forEach(function(entity) { + this._tempEntityList.forEach(function (entity) { if (!_this._entities.contains(entity)) { _this._entities.push(entity); entity.scene = _this.scene; _this.scene.entityProcessors.onEntityAdded(entity); } }); - this._tempEntityList.forEach(function( - entity) { return entity.onAddedToScene(); }); + this._tempEntityList.forEach(function (entity) { + return entity.onAddedToScene(); + }); this._tempEntityList.length = 0; } if (this._unsortedTags.length > 0) { - this._unsortedTags.forEach(function( - tag) { _this._entityDict.get(tag).sort(); }); + this._unsortedTags.forEach(function (tag) { + _this._entityDict.get(tag).sort(); + }); this._unsortedTags.length = 0; } }; return EntityList; -}()); -var EntityProcessorList = (function() { - function EntityProcessorList() { this._processors = []; } - EntityProcessorList.prototype.add = function( - processor) { this._processors.push(processor); }; - EntityProcessorList.prototype.remove = function( - processor) { this._processors.remove(processor); }; - EntityProcessorList.prototype.onComponentAdded = function( - entity) { this.notifyEntityChanged(entity); }; - EntityProcessorList.prototype.onComponentRemoved = function( - entity) { this.notifyEntityChanged(entity); }; - EntityProcessorList.prototype.onEntityAdded = function( - entity) { this.notifyEntityChanged(entity); }; - EntityProcessorList.prototype.onEntityRemoved = function( - entity) { this.removeFromProcessors(entity); }; - EntityProcessorList.prototype.notifyEntityChanged = function(entity) { +})(); +var EntityProcessorList = (function () { + function EntityProcessorList() { + this._processors = []; + } + EntityProcessorList.prototype.add = function (processor) { + this._processors.push(processor); + }; + EntityProcessorList.prototype.remove = function (processor) { + this._processors.remove(processor); + }; + EntityProcessorList.prototype.onComponentAdded = function (entity) { + this.notifyEntityChanged(entity); + }; + EntityProcessorList.prototype.onComponentRemoved = function (entity) { + this.notifyEntityChanged(entity); + }; + EntityProcessorList.prototype.onEntityAdded = function (entity) { + this.notifyEntityChanged(entity); + }; + EntityProcessorList.prototype.onEntityRemoved = function (entity) { + this.removeFromProcessors(entity); + }; + EntityProcessorList.prototype.notifyEntityChanged = function (entity) { for (var i = 0; i < this._processors.length; i++) { this._processors[i].onChanged(entity); } }; - EntityProcessorList.prototype.removeFromProcessors = function(entity) { + EntityProcessorList.prototype.removeFromProcessors = function (entity) { for (var i = 0; i < this._processors.length; i++) { this._processors[i].remove(entity); } }; - EntityProcessorList.prototype.begin = function() {}; - EntityProcessorList.prototype.update = function() { + EntityProcessorList.prototype.begin = function () {}; + EntityProcessorList.prototype.update = function () { for (var i = 0; i < this._processors.length; i++) { this._processors[i].update(); } }; - EntityProcessorList.prototype.lateUpdate = function() { + EntityProcessorList.prototype.lateUpdate = function () { for (var i = 0; i < this._processors.length; i++) { this._processors[i].lateUpdate(); } }; - EntityProcessorList.prototype.end = function() {}; - EntityProcessorList.prototype.getProcessor = function() { + EntityProcessorList.prototype.end = function () {}; + EntityProcessorList.prototype.getProcessor = function () { for (var i = 0; i < this._processors.length; i++) { var processor = this._processors[i]; - if (processor instanceof EntitySystem) - return processor; + if (processor instanceof EntitySystem) return processor; } return null; }; return EntityProcessorList; -}()); -var Matcher = (function() { +})(); +var Matcher = (function () { function Matcher() { this.allSet = new BitSet(); this.exclusionSet = new BitSet(); this.oneSet = new BitSet(); } - Matcher.empty = function() { return new Matcher(); }; - Matcher.prototype.getAllSet = function() { return this.allSet; }; - Matcher.prototype.getExclusionSet = function() { return this.exclusionSet; }; - Matcher.prototype.getOneSet = function() { return this.oneSet; }; - Matcher.prototype.IsIntersted = function(e) { + Matcher.empty = function () { + return new Matcher(); + }; + Matcher.prototype.getAllSet = function () { + return this.allSet; + }; + Matcher.prototype.getExclusionSet = function () { + return this.exclusionSet; + }; + Matcher.prototype.getOneSet = function () { + return this.oneSet; + }; + Matcher.prototype.IsIntersted = function (e) { if (!this.allSet.isEmpty()) { - for (var i = this.allSet.nextSetBit(0); i >= 0; - i = this.allSet.nextSetBit(i + 1)) { - if (!e.componentBits.get(i)) - return false; + for ( + var i = this.allSet.nextSetBit(0); + i >= 0; + i = this.allSet.nextSetBit(i + 1) + ) { + if (!e.componentBits.get(i)) return false; } } - if (!this.exclusionSet.isEmpty() && - this.exclusionSet.intersects(e.componentBits)) + if ( + !this.exclusionSet.isEmpty() && + this.exclusionSet.intersects(e.componentBits) + ) return false; if (!this.oneSet.isEmpty() && !this.oneSet.intersects(e.componentBits)) return false; return true; }; - Matcher.prototype.all = function() { + Matcher.prototype.all = function () { var _this = this; var types = []; for (var _i = 0; _i < arguments.length; _i++) { types[_i] = arguments[_i]; } - types.forEach(function( - type) { _this.allSet.set(ComponentTypeManager.getIndexFor(type)); }); + types.forEach(function (type) { + _this.allSet.set(ComponentTypeManager.getIndexFor(type)); + }); return this; }; - Matcher.prototype.exclude = function() { + Matcher.prototype.exclude = function () { var _this = this; var types = []; for (var _i = 0; _i < arguments.length; _i++) { types[_i] = arguments[_i]; } - types.forEach(function(type) { + types.forEach(function (type) { _this.exclusionSet.set(ComponentTypeManager.getIndexFor(type)); }); return this; }; - Matcher.prototype.one = function() { + Matcher.prototype.one = function () { var _this = this; var types = []; for (var _i = 0; _i < arguments.length; _i++) { types[_i] = arguments[_i]; } - types.forEach(function( - type) { _this.oneSet.set(ComponentTypeManager.getIndexFor(type)); }); + types.forEach(function (type) { + _this.oneSet.set(ComponentTypeManager.getIndexFor(type)); + }); return this; }; return Matcher; -}()); -var RenderableComponentList = (function() { - function RenderableComponentList() { this._components = []; } +})(); +var RenderableComponentList = (function () { + function RenderableComponentList() { + this._components = []; + } Object.defineProperty(RenderableComponentList.prototype, "count", { - get : function() { return this._components.length; }, - enumerable : true, - configurable : true + get: function () { + return this._components.length; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(RenderableComponentList.prototype, "buffer", { - get : function() { return this._components; }, - enumerable : true, - configurable : true + get: function () { + return this._components; + }, + enumerable: true, + configurable: true, }); - RenderableComponentList.prototype.add = function( - component) { this._components.push(component); }; - RenderableComponentList.prototype.remove = function( - component) { this._components.remove(component); }; - RenderableComponentList.prototype.updateList = function() {}; + RenderableComponentList.prototype.add = function (component) { + this._components.push(component); + }; + RenderableComponentList.prototype.remove = function (component) { + this._components.remove(component); + }; + RenderableComponentList.prototype.updateList = function () {}; return RenderableComponentList; -}()); -var Time = (function() { - function Time() {}; - Time.update = function(currentTime) { +})(); +var Time = (function () { + function Time() {} + Time.update = function (currentTime) { var dt = (currentTime - this._lastTime) / 1000; this.deltaTime = dt * this.timeScale; this.unscaledDeltaTime = dt; @@ -2821,39 +3127,40 @@ var Time = (function() { Time.frameCount = 0; Time._lastTime = 0; return Time; -}()); -var GraphicsCapabilities = (function() { +})(); +var GraphicsCapabilities = (function () { function GraphicsCapabilities() {} - GraphicsCapabilities.prototype.initialize = function( - device) { this.platformInitialize(device); }; - GraphicsCapabilities.prototype.platformInitialize = function(device) { + GraphicsCapabilities.prototype.initialize = function (device) { + this.platformInitialize(device); + }; + GraphicsCapabilities.prototype.platformInitialize = function (device) { var gl = new egret.sys.RenderBuffer().context.getInstance(); this.supportsNonPowerOfTwo = false; this.supportsTextureFilterAnisotropic = - gl.getExtension("EXT_texture_filter_anisotropic") != null; + gl.getExtension("EXT_texture_filter_anisotropic") != null; this.supportsDepth24 = true; this.supportsPackedDepthStencil = true; this.supportsDepthNonLinear = false; this.supportsTextureMaxLevel = true; this.supportsS3tc = - gl.getExtension("WEBGL_compressed_texture_s3tc") != null || - gl.getExtension("WEBGL_compressed_texture_s3tc_srgb") != null; + gl.getExtension("WEBGL_compressed_texture_s3tc") != null || + gl.getExtension("WEBGL_compressed_texture_s3tc_srgb") != null; this.supportsDxt1 = this.supportsS3tc; this.supportsPvrtc = false; this.supportsAtitc = - gl.getExtension("WEBGL_compressed_texture_astc") != null; + gl.getExtension("WEBGL_compressed_texture_astc") != null; this.supportsFramebufferObjectARB = false; }; return GraphicsCapabilities; -}()); -var GraphicsDevice = (function() { +})(); +var GraphicsDevice = (function () { function GraphicsDevice() { this.graphicsCapabilities = new GraphicsCapabilities(); this.graphicsCapabilities.initialize(this); } return GraphicsDevice; -}()); -var Viewport = (function() { +})(); +var Viewport = (function () { function Viewport(x, y, width, height) { this._x = x; this._y = y; @@ -2863,112 +3170,121 @@ var Viewport = (function() { this._maxDepth = 1; } Object.defineProperty(Viewport.prototype, "aspectRatio", { - get : function() { - if ((this._height != 0) && (this._width != 0)) - return (this._width / this._height); + get: function () { + if (this._height != 0 && this._width != 0) + return this._width / this._height; return 0; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Viewport.prototype, "bounds", { - get : function() { + get: function () { return new Rectangle(this._x, this._y, this._width, this._height); }, - set : function(value) { + set: function (value) { this._x = value.x; this._y = value.y; this._width = value.width; this._height = value.height; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); return Viewport; -}()); -var GraphicsResource = (function() { +})(); +var GraphicsResource = (function () { function GraphicsResource() {} return GraphicsResource; -}()); -var GaussianBlurEffect = (function(_super) { +})(); +var GaussianBlurEffect = (function (_super) { __extends(GaussianBlurEffect, _super); function GaussianBlurEffect() { - return _super.call(this, PostProcessor.default_vert, - GaussianBlurEffect.blur_frag, { - screenWidth : SceneManager.stage.stageWidth, - screenHeight : SceneManager.stage.stageHeight - }) || - this; + return ( + _super.call( + this, + PostProcessor.default_vert, + GaussianBlurEffect.blur_frag, + { + screenWidth: SceneManager.stage.stageWidth, + screenHeight: SceneManager.stage.stageHeight, + } + ) || this + ); } GaussianBlurEffect.blur_frag = - "precision mediump float;\n" + - "uniform sampler2D uSampler;\n" + - "uniform float screenWidth;\n" + - "uniform float screenHeight;\n" + - "float normpdf(in float x, in float sigma)\n" + - "{\n" + - "return 0.39894*exp(-0.5*x*x/(sigma*sigma))/sigma;\n" + - "}\n" + - "void main()\n" + - "{\n" + - "vec3 c = texture2D(uSampler, gl_FragCoord.xy / vec2(screenWidth, screenHeight).xy).rgb;\n" + - "const int mSize = 11;\n" + - "const int kSize = (mSize - 1)/2;\n" + - "float kernel[mSize];\n" + - "vec3 final_colour = vec3(0.0);\n" + - "float sigma = 7.0;\n" + - "float z = 0.0;\n" + - "for (int j = 0; j <= kSize; ++j)\n" + - "{\n" + - "kernel[kSize+j] = kernel[kSize-j] = normpdf(float(j),sigma);\n" + - "}\n" + - "for (int j = 0; j < mSize; ++j)\n" + - "{\n" + - "z += kernel[j];\n" + - "}\n" + - "for (int i = -kSize; i <= kSize; ++i)\n" + - "{\n" + - "for (int j = -kSize; j <= kSize; ++j)\n" + - "{\n" + - "final_colour += kernel[kSize+j]*kernel[kSize+i]*texture2D(uSampler, (gl_FragCoord.xy+vec2(float(i),float(j))) / vec2(screenWidth, screenHeight).xy).rgb;\n" + - "}\n}\n" + - "gl_FragColor = vec4(final_colour/(z*z), 1.0);\n" + - "}"; + "precision mediump float;\n" + + "uniform sampler2D uSampler;\n" + + "uniform float screenWidth;\n" + + "uniform float screenHeight;\n" + + "float normpdf(in float x, in float sigma)\n" + + "{\n" + + "return 0.39894*exp(-0.5*x*x/(sigma*sigma))/sigma;\n" + + "}\n" + + "void main()\n" + + "{\n" + + "vec3 c = texture2D(uSampler, gl_FragCoord.xy / vec2(screenWidth, screenHeight).xy).rgb;\n" + + "const int mSize = 11;\n" + + "const int kSize = (mSize - 1)/2;\n" + + "float kernel[mSize];\n" + + "vec3 final_colour = vec3(0.0);\n" + + "float sigma = 7.0;\n" + + "float z = 0.0;\n" + + "for (int j = 0; j <= kSize; ++j)\n" + + "{\n" + + "kernel[kSize+j] = kernel[kSize-j] = normpdf(float(j),sigma);\n" + + "}\n" + + "for (int j = 0; j < mSize; ++j)\n" + + "{\n" + + "z += kernel[j];\n" + + "}\n" + + "for (int i = -kSize; i <= kSize; ++i)\n" + + "{\n" + + "for (int j = -kSize; j <= kSize; ++j)\n" + + "{\n" + + "final_colour += kernel[kSize+j]*kernel[kSize+i]*texture2D(uSampler, (gl_FragCoord.xy+vec2(float(i),float(j))) / vec2(screenWidth, screenHeight).xy).rgb;\n" + + "}\n}\n" + + "gl_FragColor = vec4(final_colour/(z*z), 1.0);\n" + + "}"; return GaussianBlurEffect; -}(egret.CustomFilter)); -var PolygonLightEffect = (function(_super) { +})(egret.CustomFilter); +var PolygonLightEffect = (function (_super) { __extends(PolygonLightEffect, _super); function PolygonLightEffect() { - return _super.call(this, PolygonLightEffect.vertSrc, - PolygonLightEffect.fragmentSrc) || - this; + return ( + _super.call( + this, + PolygonLightEffect.vertSrc, + PolygonLightEffect.fragmentSrc + ) || this + ); } PolygonLightEffect.vertSrc = - "attribute vec2 aVertexPosition;\n" + - "attribute vec2 aTextureCoord;\n" + - "uniform vec2 projectionVector;\n" + - "varying vec2 vTextureCoord;\n" + - "const vec2 center = vec2(-1.0, 1.0);\n" + - "void main(void) {\n" + - " gl_Position = vec4( (aVertexPosition / projectionVector) + center , 0.0, 1.0);\n" + - " vTextureCoord = aTextureCoord;\n" + - "}"; + "attribute vec2 aVertexPosition;\n" + + "attribute vec2 aTextureCoord;\n" + + "uniform vec2 projectionVector;\n" + + "varying vec2 vTextureCoord;\n" + + "const vec2 center = vec2(-1.0, 1.0);\n" + + "void main(void) {\n" + + " gl_Position = vec4( (aVertexPosition / projectionVector) + center , 0.0, 1.0);\n" + + " vTextureCoord = aTextureCoord;\n" + + "}"; PolygonLightEffect.fragmentSrc = - "precision lowp float;\n" + - "varying vec2 vTextureCoord;\n" + - "uniform sampler2D uSampler;\n" + - "#define SAMPLE_COUNT 15\n" + - "uniform vec2 _sampleOffsets[SAMPLE_COUNT];\n" + - "uniform float _sampleWeights[SAMPLE_COUNT];\n" + - "void main(void) {\n" + - "vec4 c = vec4(0, 0, 0, 0);\n" + - "for( int i = 0; i < SAMPLE_COUNT; i++ )\n" + - " c += texture2D( uSampler, vTextureCoord + _sampleOffsets[i] ) * _sampleWeights[i];\n" + - "gl_FragColor = c;\n" + - "}"; + "precision lowp float;\n" + + "varying vec2 vTextureCoord;\n" + + "uniform sampler2D uSampler;\n" + + "#define SAMPLE_COUNT 15\n" + + "uniform vec2 _sampleOffsets[SAMPLE_COUNT];\n" + + "uniform float _sampleWeights[SAMPLE_COUNT];\n" + + "void main(void) {\n" + + "vec4 c = vec4(0, 0, 0, 0);\n" + + "for( int i = 0; i < SAMPLE_COUNT; i++ )\n" + + " c += texture2D( uSampler, vTextureCoord + _sampleOffsets[i] ) * _sampleWeights[i];\n" + + "gl_FragColor = c;\n" + + "}"; return PolygonLightEffect; -}(egret.CustomFilter)); -var PostProcessor = (function() { +})(egret.CustomFilter); +var PostProcessor = (function () { function PostProcessor(effect) { if (effect === void 0) { effect = null; @@ -2976,21 +3292,30 @@ var PostProcessor = (function() { this.enable = true; this.effect = effect; } - PostProcessor.prototype.onAddedToScene = function(scene) { + PostProcessor.prototype.onAddedToScene = function (scene) { this.scene = scene; this.shape = new egret.Shape(); - this.shape.graphics.beginFill(0xFFFFFF, 1); - this.shape.graphics.drawRect(0, 0, SceneManager.stage.stageWidth, - SceneManager.stage.stageHeight); + this.shape.graphics.beginFill(0xffffff, 1); + this.shape.graphics.drawRect( + 0, + 0, + SceneManager.stage.stageWidth, + SceneManager.stage.stageHeight + ); this.shape.graphics.endFill(); scene.addChild(this.shape); }; - PostProcessor.prototype.process = function() { this.drawFullscreenQuad(); }; - PostProcessor.prototype.onSceneBackBufferSizeChanged = function(newWidth, - newHeight) {}; - PostProcessor.prototype.drawFullscreenQuad = - function() { this.scene.filters = [ this.effect ]; }; - PostProcessor.prototype.unload = function() { + PostProcessor.prototype.process = function () { + this.drawFullscreenQuad(); + }; + PostProcessor.prototype.onSceneBackBufferSizeChanged = function ( + newWidth, + newHeight + ) {}; + PostProcessor.prototype.drawFullscreenQuad = function () { + this.scene.filters = [this.effect]; + }; + PostProcessor.prototype.unload = function () { if (this.effect) { this.effect = null; } @@ -2998,23 +3323,29 @@ var PostProcessor = (function() { this.scene = null; }; PostProcessor.default_vert = - "attribute vec2 aVertexPosition;\n" + - "attribute vec2 aTextureCoord;\n" + - "attribute vec2 aColor;\n" + - "uniform vec2 projectionVector;\n" + - "varying vec2 vTextureCoord;\n" + - "varying vec4 vColor;\n" + - "const vec2 center = vec2(-1.0, 1.0);\n" + - "void main(void) {\n" + - "gl_Position = vec4( (aVertexPosition / projectionVector) + center , 0.0, 1.0);\n" + - "vTextureCoord = aTextureCoord;\n" + - "vColor = vec4(aColor.x, aColor.x, aColor.x, aColor.x);\n" + - "}"; + "attribute vec2 aVertexPosition;\n" + + "attribute vec2 aTextureCoord;\n" + + "attribute vec2 aColor;\n" + + "uniform vec2 projectionVector;\n" + + "varying vec2 vTextureCoord;\n" + + "varying vec4 vColor;\n" + + "const vec2 center = vec2(-1.0, 1.0);\n" + + "void main(void) {\n" + + "gl_Position = vec4( (aVertexPosition / projectionVector) + center , 0.0, 1.0);\n" + + "vTextureCoord = aTextureCoord;\n" + + "vColor = vec4(aColor.x, aColor.x, aColor.x, aColor.x);\n" + + "}"; return PostProcessor; -}()); -var BloomSettings = (function() { - function BloomSettings(bloomThreshold, blurAmount, bloomIntensity, - baseIntensity, bloomSaturation, baseSaturation) { +})(); +var BloomSettings = (function () { + function BloomSettings( + bloomThreshold, + blurAmount, + bloomIntensity, + baseIntensity, + bloomSaturation, + baseSaturation + ) { this.threshold = bloomThreshold; this.blurAmount = blurAmount; this.intensity = bloomIntensity; @@ -3024,38 +3355,41 @@ var BloomSettings = (function() { } BloomSettings.presetSettings = [ new BloomSettings(0.1, 0.6, 2, 1, 1, 0), - new BloomSettings(0, 3, 1, 1, 1, 1), new BloomSettings(0.5, 8, 2, 1, 0, 1), + new BloomSettings(0, 3, 1, 1, 1, 1), + new BloomSettings(0.5, 8, 2, 1, 0, 1), new BloomSettings(0.25, 8, 1.3, 1, 1, 0), - new BloomSettings(0, 2, 1, 0.1, 1, 1), new BloomSettings(0.5, 2, 1, 1, 1, 1) + new BloomSettings(0, 2, 1, 0.1, 1, 1), + new BloomSettings(0.5, 2, 1, 1, 1, 1), ]; return BloomSettings; -}()); -var GaussianBlurPostProcessor = (function(_super) { +})(); +var GaussianBlurPostProcessor = (function (_super) { __extends(GaussianBlurPostProcessor, _super); function GaussianBlurPostProcessor() { - return _super !== null && _super.apply(this, arguments) || this; + return (_super !== null && _super.apply(this, arguments)) || this; } - GaussianBlurPostProcessor.prototype.onAddedToScene = function(scene) { + GaussianBlurPostProcessor.prototype.onAddedToScene = function (scene) { _super.prototype.onAddedToScene.call(this, scene); this.effect = new GaussianBlurEffect(); }; return GaussianBlurPostProcessor; -}(PostProcessor)); -var Renderer = (function() { +})(PostProcessor); +var Renderer = (function () { function Renderer() {} - Renderer.prototype.onAddedToScene = function(scene) {}; - Renderer.prototype.beginRender = function(cam) {}; - Renderer.prototype.unload = function() {}; - Renderer.prototype.renderAfterStateCheck = function( - renderable, cam) { renderable.render(cam); }; + Renderer.prototype.onAddedToScene = function (scene) {}; + Renderer.prototype.beginRender = function (cam) {}; + Renderer.prototype.unload = function () {}; + Renderer.prototype.renderAfterStateCheck = function (renderable, cam) { + renderable.render(cam); + }; return Renderer; -}()); -var DefaultRenderer = (function(_super) { +})(); +var DefaultRenderer = (function (_super) { __extends(DefaultRenderer, _super); function DefaultRenderer() { - return _super !== null && _super.apply(this, arguments) || this; + return (_super !== null && _super.apply(this, arguments)) || this; } - DefaultRenderer.prototype.render = function(scene) { + DefaultRenderer.prototype.render = function (scene) { var cam = this.camera ? this.camera : scene.camera; this.beginRender(cam); for (var i = 0; i < scene.renderableComponents.count; i++) { @@ -3065,16 +3399,16 @@ var DefaultRenderer = (function(_super) { } }; return DefaultRenderer; -}(Renderer)); -var ScreenSpaceRenderer = (function(_super) { +})(Renderer); +var ScreenSpaceRenderer = (function (_super) { __extends(ScreenSpaceRenderer, _super); function ScreenSpaceRenderer() { - return _super !== null && _super.apply(this, arguments) || this; + return (_super !== null && _super.apply(this, arguments)) || this; } - ScreenSpaceRenderer.prototype.render = function(scene) {}; + ScreenSpaceRenderer.prototype.render = function (scene) {}; return ScreenSpaceRenderer; -}(Renderer)); -var PolyLight = (function(_super) { +})(Renderer); +var PolyLight = (function (_super) { __extends(PolyLight, _super); function PolyLight(radius, color, power) { var _this = _super.call(this) || this; @@ -3086,12 +3420,16 @@ var PolyLight = (function(_super) { return _this; } Object.defineProperty(PolyLight.prototype, "radius", { - get : function() { return this._radius; }, - set : function(value) { this.setRadius(value); }, - enumerable : true, - configurable : true + get: function () { + return this._radius; + }, + set: function (value) { + this.setRadius(value); + }, + enumerable: true, + configurable: true, }); - PolyLight.prototype.computeTriangleIndices = function(totalTris) { + PolyLight.prototype.computeTriangleIndices = function (totalTris) { if (totalTris === void 0) { totalTris = 20; } @@ -3102,92 +3440,97 @@ var PolyLight = (function(_super) { this._indices.push(i + 1); } }; - PolyLight.prototype.setRadius = function(radius) { + PolyLight.prototype.setRadius = function (radius) { if (radius != this._radius) { this._radius = radius; this._areBoundsDirty = true; } }; - PolyLight.prototype.render = function(camera) {}; - PolyLight.prototype.reset = function() {}; + PolyLight.prototype.render = function (camera) {}; + PolyLight.prototype.reset = function () {}; return PolyLight; -}(RenderableComponent)); -var SceneTransition = (function() { +})(RenderableComponent); +var SceneTransition = (function () { function SceneTransition(sceneLoadAction) { this.sceneLoadAction = sceneLoadAction; this.loadsNewScene = sceneLoadAction != null; } Object.defineProperty(SceneTransition.prototype, "hasPreviousSceneRender", { - get : function() { + get: function () { if (!this._hasPreviousSceneRender) { this._hasPreviousSceneRender = true; return false; } return true; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); - SceneTransition.prototype.preRender = function() {}; - SceneTransition.prototype.render = function() {}; - SceneTransition.prototype.onBeginTransition = function() { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { + SceneTransition.prototype.preRender = function () {}; + SceneTransition.prototype.render = function () {}; + SceneTransition.prototype.onBeginTransition = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { switch (_a.label) { - case 0: - return [ 4, this.loadNextScene() ]; - case 1: - _a.sent(); - this.transitionComplete(); - return [ 2 ]; + case 0: + return [4, this.loadNextScene()]; + case 1: + _a.sent(); + this.transitionComplete(); + return [2]; } }); }); }; - SceneTransition.prototype.transitionComplete = function() { + SceneTransition.prototype.transitionComplete = function () { SceneManager.sceneTransition = null; if (this.onTransitionCompleted) { this.onTransitionCompleted(); } }; - SceneTransition.prototype.loadNextScene = function() { - return __awaiter(this, void 0, void 0, function() { + SceneTransition.prototype.loadNextScene = function () { + return __awaiter(this, void 0, void 0, function () { var _a; - return __generator(this, function(_b) { + return __generator(this, function (_b) { switch (_b.label) { - case 0: - if (this.onScreenObscured) - this.onScreenObscured(); - if (!this.loadsNewScene) { + case 0: + if (this.onScreenObscured) this.onScreenObscured(); + if (!this.loadsNewScene) { + this.isNewSceneLoaded = true; + } + _a = SceneManager; + return [4, this.sceneLoadAction()]; + case 1: + _a.scene = _b.sent(); this.isNewSceneLoaded = true; - } - _a = SceneManager; - return [ 4, this.sceneLoadAction() ]; - case 1: - _a.scene = _b.sent(); - this.isNewSceneLoaded = true; - return [ 2 ]; + return [2]; } }); }); }; - SceneTransition.prototype.tickEffectProgressProperty = function( - filter, duration, easeType, reverseDirection) { + SceneTransition.prototype.tickEffectProgressProperty = function ( + filter, + duration, + easeType, + reverseDirection + ) { if (reverseDirection === void 0) { reverseDirection = false; } - return new Promise(function(resolve) { + return new Promise(function (resolve) { var start = reverseDirection ? 1 : 0; var end = reverseDirection ? 0 : 1; egret.Tween.get(filter.uniforms) - .set({_progress : start}) - .to({_progress : end}, duration * 1000, easeType) - .call(function() { resolve(); }); + .set({ _progress: start }) + .to({ _progress: end }, duration * 1000, easeType) + .call(function () { + resolve(); + }); }); }; return SceneTransition; -}()); -var FadeTransition = (function(_super) { +})(); +var FadeTransition = (function (_super) { __extends(FadeTransition, _super); function FadeTransition(sceneLoadAction) { var _this = _super.call(this, sceneLoadAction) || this; @@ -3199,138 +3542,165 @@ var FadeTransition = (function(_super) { _this._mask = new egret.Shape(); return _this; } - FadeTransition.prototype.onBeginTransition = function() { - return __awaiter(this, void 0, void 0, function() { + FadeTransition.prototype.onBeginTransition = function () { + return __awaiter(this, void 0, void 0, function () { var _this = this; - return __generator(this, function(_a) { + return __generator(this, function (_a) { this._mask.graphics.beginFill(this.fadeToColor, 1); - this._mask.graphics.drawRect(0, 0, SceneManager.stage.stageWidth, - SceneManager.stage.stageHeight); + 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}, this.fadeOutDuration * 1000, this.fadeEaseType) - .call(function() { - return __awaiter(_this, void 0, void 0, function() { - return __generator(this, function(_a) { - switch (_a.label) { + .to({ _alpha: 1 }, this.fadeOutDuration * 1000, this.fadeEaseType) + .call(function () { + return __awaiter(_this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { case 0: - return [ 4, this.loadNextScene() ]; + return [4, this.loadNextScene()]; case 1: _a.sent(); - return [ 2 ]; - } - }); + return [2]; + } }); - }) - .wait(this.delayBeforeFadeInDuration) - .call(function() { - egret.Tween.get(_this) - .to({_alpha : 0}, _this.fadeOutDuration * 1000, - _this.fadeEaseType) - .call(function() { - _this.transitionComplete(); - SceneManager.stage.removeChild(_this._mask); - }); }); - return [ 2 ]; + }) + .wait(this.delayBeforeFadeInDuration) + .call(function () { + egret.Tween.get(_this) + .to( + { _alpha: 0 }, + _this.fadeOutDuration * 1000, + _this.fadeEaseType + ) + .call(function () { + _this.transitionComplete(); + SceneManager.stage.removeChild(_this._mask); + }); + }); + return [2]; }); }); }; - FadeTransition.prototype.render = function() { + FadeTransition.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.drawRect( + 0, + 0, + SceneManager.stage.stageWidth, + SceneManager.stage.stageHeight + ); this._mask.graphics.endFill(); }; return FadeTransition; -}(SceneTransition)); -var WindTransition = (function(_super) { +})(SceneTransition); +var WindTransition = (function (_super) { __extends(WindTransition, _super); function WindTransition(sceneLoadAction) { var _this = _super.call(this, sceneLoadAction) || this; _this.duration = 1; _this.easeType = egret.Ease.quadOut; var vertexSrc = - "attribute vec2 aVertexPosition;\n" + - "attribute vec2 aTextureCoord;\n" + - "uniform vec2 projectionVector;\n" + - "varying vec2 vTextureCoord;\n" + - "const vec2 center = vec2(-1.0, 1.0);\n" + - "void main(void) {\n" + - " gl_Position = vec4( (aVertexPosition / projectionVector) + center , 0.0, 1.0);\n" + - " vTextureCoord = aTextureCoord;\n" + - "}"; + "attribute vec2 aVertexPosition;\n" + + "attribute vec2 aTextureCoord;\n" + + "uniform vec2 projectionVector;\n" + + "varying vec2 vTextureCoord;\n" + + "const vec2 center = vec2(-1.0, 1.0);\n" + + "void main(void) {\n" + + " gl_Position = vec4( (aVertexPosition / projectionVector) + center , 0.0, 1.0);\n" + + " vTextureCoord = aTextureCoord;\n" + + "}"; var fragmentSrc = - "precision lowp float;\n" + - "varying vec2 vTextureCoord;\n" + - "uniform sampler2D uSampler;\n" + - "uniform float _progress;\n" + - "uniform float _size;\n" + - "uniform float _windSegments;\n" + - "void main(void) {\n" + - "vec2 co = floor(vec2(0.0, vTextureCoord.y * _windSegments));\n" + - "float x = sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453;\n" + - "float r = x - floor(x);\n" + - "float m = smoothstep(0.0, -_size, vTextureCoord.x * (1.0 - _size) + _size * r - (_progress * (1.0 + _size)));\n" + - "vec4 fg = texture2D(uSampler, vTextureCoord);\n" + - "gl_FragColor = mix(fg, vec4(0, 0, 0, 0), m);\n" + - "}"; - _this._windEffect = new egret.CustomFilter( - vertexSrc, fragmentSrc, - {_progress : 0, _size : 0.3, _windSegments : 100}); + "precision lowp float;\n" + + "varying vec2 vTextureCoord;\n" + + "uniform sampler2D uSampler;\n" + + "uniform float _progress;\n" + + "uniform float _size;\n" + + "uniform float _windSegments;\n" + + "void main(void) {\n" + + "vec2 co = floor(vec2(0.0, vTextureCoord.y * _windSegments));\n" + + "float x = sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453;\n" + + "float r = x - floor(x);\n" + + "float m = smoothstep(0.0, -_size, vTextureCoord.x * (1.0 - _size) + _size * r - (_progress * (1.0 + _size)));\n" + + "vec4 fg = texture2D(uSampler, vTextureCoord);\n" + + "gl_FragColor = mix(fg, vec4(0, 0, 0, 0), m);\n" + + "}"; + _this._windEffect = new egret.CustomFilter(vertexSrc, fragmentSrc, { + _progress: 0, + _size: 0.3, + _windSegments: 100, + }); _this._mask = new egret.Shape(); - _this._mask.graphics.beginFill(0xFFFFFF, 1); - _this._mask.graphics.drawRect(0, 0, SceneManager.stage.stageWidth, - SceneManager.stage.stageHeight); + _this._mask.graphics.beginFill(0xffffff, 1); + _this._mask.graphics.drawRect( + 0, + 0, + SceneManager.stage.stageWidth, + SceneManager.stage.stageHeight + ); _this._mask.graphics.endFill(); - _this._mask.filters = [ _this._windEffect ]; + _this._mask.filters = [_this._windEffect]; SceneManager.stage.addChild(_this._mask); return _this; } Object.defineProperty(WindTransition.prototype, "windSegments", { - set : function(value) { this._windEffect.uniforms._windSegments = value; }, - enumerable : true, - configurable : true + set: function (value) { + this._windEffect.uniforms._windSegments = value; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(WindTransition.prototype, "size", { - set : function(value) { this._windEffect.uniforms._size = value; }, - enumerable : true, - configurable : true + set: function (value) { + this._windEffect.uniforms._size = value; + }, + enumerable: true, + configurable: true, }); - WindTransition.prototype.onBeginTransition = function() { - return __awaiter(this, void 0, void 0, function() { - return __generator(this, function(_a) { + WindTransition.prototype.onBeginTransition = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { switch (_a.label) { - case 0: - this.loadNextScene(); - return [ - 4, this.tickEffectProgressProperty(this._windEffect, this.duration, - this.easeType) - ]; - case 1: - _a.sent(); - this.transitionComplete(); - SceneManager.stage.removeChild(this._mask); - return [ 2 ]; + case 0: + this.loadNextScene(); + return [ + 4, + this.tickEffectProgressProperty( + this._windEffect, + this.duration, + this.easeType + ), + ]; + case 1: + _a.sent(); + this.transitionComplete(); + SceneManager.stage.removeChild(this._mask); + return [2]; } }); }); }; return WindTransition; -}(SceneTransition)); -var BaseView = (function(_super) { +})(SceneTransition); +var BaseView = (function (_super) { __extends(BaseView, _super); function BaseView() { - return _super !== null && _super.apply(this, arguments) || this; + return (_super !== null && _super.apply(this, arguments)) || this; } - BaseView.prototype.init = function() {}; - BaseView.prototype.show = function(data) {}; - BaseView.prototype.refreshData = function(data) { this._data = data; }; - BaseView.prototype.refreshView = function() {}; - BaseView.prototype.close = function() {}; - BaseView.prototype.destroy = function() { + BaseView.prototype.init = function () {}; + BaseView.prototype.show = function (data) {}; + BaseView.prototype.refreshData = function (data) { + this._data = data; + }; + BaseView.prototype.refreshView = function () {}; + BaseView.prototype.close = function () {}; + BaseView.prototype.destroy = function () { if (this.parent) { this.parent.removeChild(this); } @@ -3339,8 +3709,8 @@ var BaseView = (function(_super) { } }; return BaseView; -}(egret.DisplayObjectContainer)); -var BaseFuiView = (function(_super) { +})(egret.DisplayObjectContainer); +var BaseFuiView = (function (_super) { __extends(BaseFuiView, _super); function BaseFuiView(name) { var _this = _super.call(this) || this; @@ -3348,16 +3718,16 @@ var BaseFuiView = (function(_super) { return _this; } return BaseFuiView; -}(BaseView)); -var BaseSingle = (function() { +})(BaseView); +var BaseSingle = (function () { function BaseSingle() {} - BaseSingle.getInstance = function() { + BaseSingle.getInstance = function () { if (this._instance == null) { this._instance = new this(); } return this._instance; }; - BaseSingle.prototype.clearFuiObj = function(obj) { + BaseSingle.prototype.clearFuiObj = function (obj) { if (obj) { egret.Tween.removeTweens(obj.displayObject); if (obj.displayObject && obj.displayObject.parent) { @@ -3370,22 +3740,22 @@ var BaseSingle = (function() { return false; }; return BaseSingle; -}()); -var ViewManager = (function(_super) { +})(); +var ViewManager = (function (_super) { __extends(ViewManager, _super); function ViewManager() { - var _this = _super !== null && _super.apply(this, arguments) || this; + var _this = (_super !== null && _super.apply(this, arguments)) || this; _this._openDic = []; return _this; } - ViewManager.prototype.refreshView = function(viewClass, data) { + ViewManager.prototype.refreshView = function (viewClass, data) { var view = this.getView(viewClass); if (view) { view.refreshData(data); view.refreshView(); } }; - ViewManager.prototype.openView = function(viewClass, data, complete) { + ViewManager.prototype.openView = function (viewClass, data, complete) { var newView = this.getView(viewClass); if (!newView) { newView = new viewClass(); @@ -3397,64 +3767,83 @@ var ViewManager = (function(_super) { } this._openDic.push(newView); }; - ViewManager.prototype.getView = function(viewClass) { - var result = this._openDic.firstOrDefault(function( - a) { return a instanceof viewClass; }); + ViewManager.prototype.getView = function (viewClass) { + var result = this._openDic.firstOrDefault(function (a) { + return a instanceof viewClass; + }); return result; }; - ViewManager.prototype.existView = function(viewClass) { - return this._openDic.findIndex(function( - a) { return a instanceof viewClass; }) != -1; + ViewManager.prototype.existView = function (viewClass) { + return ( + this._openDic.findIndex(function (a) { + return a instanceof viewClass; + }) != -1 + ); }; return ViewManager; -}(BaseSingle)); -var Flags = (function() { +})(BaseSingle); +var Flags = (function () { function Flags() {} - Flags.isFlagSet = function(self, flag) { return (self & flag) != 0; }; - Flags.isUnshiftedFlagSet = function(self, flag) { + Flags.isFlagSet = function (self, flag) { + return (self & flag) != 0; + }; + Flags.isUnshiftedFlagSet = function (self, flag) { flag = 1 << flag; return (self & flag) != 0; }; - Flags.setFlagExclusive = function(self, flag) { return 1 << flag; }; - Flags.setFlag = function(self, flag) { return (self | 1 << flag); }; - Flags.unsetFlag = function(self, flag) { + Flags.setFlagExclusive = function (self, flag) { + return 1 << flag; + }; + Flags.setFlag = function (self, flag) { + return self | (1 << flag); + }; + Flags.unsetFlag = function (self, flag) { flag = 1 << flag; - return (self & (~flag)); + return self & ~flag; + }; + Flags.invertFlags = function (self) { + return ~self; }; - Flags.invertFlags = function(self) { return ~self; }; return Flags; -}()); -var MathHelper = (function() { +})(); +var MathHelper = (function () { function MathHelper() {} - MathHelper.toDegrees = function( - radians) { return radians * 57.295779513082320876798154814105; }; - MathHelper.toRadians = function( - degrees) { return degrees * 0.017453292519943295769236907684886; }; - MathHelper.map = function(value, leftMin, leftMax, rightMin, rightMax) { - return rightMin + - (value - leftMin) * (rightMax - rightMin) / (leftMax - leftMin); + MathHelper.toDegrees = function (radians) { + return radians * 57.295779513082320876798154814105; }; - MathHelper.lerp = function( - value1, value2, amount) { return value1 + (value2 - value1) * amount; }; - MathHelper.clamp = function(value, min, max) { - if (value < min) - return min; - if (value > max) - return max; + MathHelper.toRadians = function (degrees) { + return degrees * 0.017453292519943295769236907684886; + }; + MathHelper.map = function (value, leftMin, leftMax, rightMin, rightMax) { + return ( + rightMin + + ((value - leftMin) * (rightMax - rightMin)) / (leftMax - leftMin) + ); + }; + MathHelper.lerp = function (value1, value2, amount) { + return value1 + (value2 - value1) * amount; + }; + MathHelper.clamp = function (value, min, max) { + if (value < min) return min; + if (value > max) return max; return value; }; - MathHelper.pointOnCirlce = function(circleCenter, radius, angleInDegrees) { + MathHelper.pointOnCirlce = function (circleCenter, radius, angleInDegrees) { var radians = MathHelper.toRadians(angleInDegrees); - return new Vector2(Math.cos(radians) * radians + circleCenter.x, - Math.sin(radians) * radians + circleCenter.y); + return new Vector2( + Math.cos(radians) * radians + circleCenter.x, + Math.sin(radians) * radians + circleCenter.y + ); + }; + MathHelper.isEven = function (value) { + return value % 2 == 0; }; - MathHelper.isEven = function(value) { return value % 2 == 0; }; MathHelper.Epsilon = 0.00001; MathHelper.Rad2Deg = 57.29578; MathHelper.Deg2Rad = 0.0174532924; return MathHelper; -}()); -var Matrix2D = (function() { +})(); +var Matrix2D = (function () { function Matrix2D(m11, m12, m21, m22, m31, m32) { this.m11 = 0; this.m12 = 0; @@ -3470,22 +3859,28 @@ var Matrix2D = (function() { this.m32 = m32 ? m32 : 0; } Object.defineProperty(Matrix2D, "identity", { - get : function() { return Matrix2D._identity; }, - enumerable : true, - configurable : true + get: function () { + return Matrix2D._identity; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Matrix2D.prototype, "translation", { - get : function() { return new Vector2(this.m31, this.m32); }, - set : function(value) { + get: function () { + return new Vector2(this.m31, this.m32); + }, + set: function (value) { this.m31 = value.x; this.m32 = value.y; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Matrix2D.prototype, "rotation", { - get : function() { return Math.atan2(this.m21, this.m11); }, - set : function(value) { + get: function () { + return Math.atan2(this.m21, this.m11); + }, + set: function (value) { var val1 = Math.cos(value); var val2 = Math.sin(value); this.m11 = val1; @@ -3493,25 +3888,31 @@ var Matrix2D = (function() { this.m21 = -val2; this.m22 = val1; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Matrix2D.prototype, "rotationDegrees", { - get : function() { return MathHelper.toDegrees(this.rotation); }, - set : function(value) { this.rotation = MathHelper.toRadians(value); }, - enumerable : true, - configurable : true + get: function () { + return MathHelper.toDegrees(this.rotation); + }, + set: function (value) { + this.rotation = MathHelper.toRadians(value); + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Matrix2D.prototype, "scale", { - get : function() { return new Vector2(this.m11, this.m22); }, - set : function(value) { + get: function () { + return new Vector2(this.m11, this.m22); + }, + set: function (value) { this.m11 = value.x; this.m12 = value.y; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); - Matrix2D.add = function(matrix1, matrix2) { + Matrix2D.add = function (matrix1, matrix2) { matrix1.m11 += matrix2.m11; matrix1.m12 += matrix2.m12; matrix1.m21 += matrix2.m21; @@ -3520,7 +3921,7 @@ var Matrix2D = (function() { matrix1.m32 += matrix2.m32; return matrix1; }; - Matrix2D.divide = function(matrix1, matrix2) { + Matrix2D.divide = function (matrix1, matrix2) { matrix1.m11 /= matrix2.m11; matrix1.m12 /= matrix2.m12; matrix1.m21 /= matrix2.m21; @@ -3529,16 +3930,16 @@ var Matrix2D = (function() { matrix1.m32 /= matrix2.m32; return matrix1; }; - Matrix2D.multiply = function(matrix1, matrix2) { + Matrix2D.multiply = function (matrix1, matrix2) { var result = new Matrix2D(); - var m11 = (matrix1.m11 * matrix2.m11) + (matrix1.m12 * matrix2.m21); - var m12 = (matrix1.m11 * matrix2.m12) + (matrix1.m12 * matrix2.m22); - var m21 = (matrix1.m21 * matrix2.m11) + (matrix1.m22 * matrix2.m21); - var m22 = (matrix1.m21 * matrix2.m12) + (matrix1.m22 * matrix2.m22); + var m11 = matrix1.m11 * matrix2.m11 + matrix1.m12 * matrix2.m21; + var m12 = matrix1.m11 * matrix2.m12 + matrix1.m12 * matrix2.m22; + var m21 = matrix1.m21 * matrix2.m11 + matrix1.m22 * matrix2.m21; + var m22 = matrix1.m21 * matrix2.m12 + matrix1.m22 * matrix2.m22; var m31 = - (matrix1.m31 * matrix2.m11) + (matrix1.m32 * matrix2.m21) + matrix2.m31; + matrix1.m31 * matrix2.m11 + matrix1.m32 * matrix2.m21 + matrix2.m31; var m32 = - (matrix1.m31 * matrix2.m12) + (matrix1.m32 * matrix2.m22) + matrix2.m32; + matrix1.m31 * matrix2.m12 + matrix1.m32 * matrix2.m22 + matrix2.m32; result.m11 = m11; result.m12 = m12; result.m21 = m21; @@ -3547,13 +3948,14 @@ var Matrix2D = (function() { result.m32 = m32; return result; }; - Matrix2D.multiplyTranslation = function(matrix, x, y) { + Matrix2D.multiplyTranslation = function (matrix, x, y) { var trans = Matrix2D.createTranslation(x, y); return Matrix2D.multiply(matrix, trans); }; - Matrix2D.prototype.determinant = - function() { return this.m11 * this.m22 - this.m12 * this.m21; }; - Matrix2D.invert = function(matrix, result) { + Matrix2D.prototype.determinant = function () { + return this.m11 * this.m22 - this.m12 * this.m21; + }; + Matrix2D.invert = function (matrix, result) { if (result === void 0) { result = new Matrix2D(); } @@ -3566,7 +3968,7 @@ var Matrix2D = (function() { result.m32 = -(matrix.m32 * matrix.m11 - matrix.m31 * matrix.m12) * det; return result; }; - Matrix2D.createTranslation = function(xPosition, yPosition, result) { + Matrix2D.createTranslation = function (xPosition, yPosition, result) { result = result ? result : new Matrix2D(); result.m11 = 1; result.m12 = 0; @@ -3576,7 +3978,7 @@ var Matrix2D = (function() { result.m32 = yPosition; return result; }; - Matrix2D.createRotation = function(radians, result) { + Matrix2D.createRotation = function (radians, result) { result = new Matrix2D(); var val1 = Math.cos(radians); var val2 = Math.sin(radians); @@ -3586,7 +3988,7 @@ var Matrix2D = (function() { result.m22 = val1; return result; }; - Matrix2D.createScale = function(xScale, yScale, result) { + Matrix2D.createScale = function (xScale, yScale, result) { if (result === void 0) { result = new Matrix2D(); } @@ -3598,15 +4000,21 @@ var Matrix2D = (function() { result.m32 = 0; return result; }; - Matrix2D.prototype.toEgretMatrix = function() { - var matrix = new egret.Matrix(this.m11, this.m12, this.m21, this.m22, - this.m31, this.m32); + Matrix2D.prototype.toEgretMatrix = function () { + var matrix = new egret.Matrix( + this.m11, + this.m12, + this.m21, + this.m22, + this.m31, + this.m32 + ); return matrix; }; Matrix2D._identity = new Matrix2D(1, 0, 0, 1, 0, 0); return Matrix2D; -}()); -var Rectangle = (function() { +})(); +var Rectangle = (function () { function Rectangle(x, y, width, height) { this.x = x ? x : 0; this.y = y ? y : 0; @@ -3614,71 +4022,95 @@ var Rectangle = (function() { this.height = height ? height : 0; } Object.defineProperty(Rectangle.prototype, "left", { - get : function() { return this.x; }, - enumerable : true, - configurable : true + get: function () { + return this.x; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Rectangle.prototype, "right", { - get : function() { return this.x + this.width; }, - enumerable : true, - configurable : true + get: function () { + return this.x + this.width; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Rectangle.prototype, "top", { - get : function() { return this.y; }, - enumerable : true, - configurable : true + get: function () { + return this.y; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Rectangle.prototype, "bottom", { - get : function() { return this.y + this.height; }, - enumerable : true, - configurable : true + get: function () { + return this.y + this.height; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Rectangle.prototype, "center", { - get : function() { - return new Vector2(this.x + (this.width / 2), this.y + (this.height / 2)); + get: function () { + return new Vector2(this.x + this.width / 2, this.y + this.height / 2); }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Rectangle.prototype, "location", { - get : function() { return new Vector2(this.x, this.y); }, - set : function(value) { + get: function () { + return new Vector2(this.x, this.y); + }, + set: function (value) { this.x = value.x; this.y = value.y; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Rectangle.prototype, "size", { - get : function() { return new Vector2(this.width, this.height); }, - set : function(value) { + get: function () { + return new Vector2(this.width, this.height); + }, + set: function (value) { this.width = value.x; this.height = value.y; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); - Rectangle.prototype.intersects = function(value) { - return value.left < this.right && this.left < value.right && - value.top < this.bottom && this.top < value.bottom; + Rectangle.prototype.intersects = function (value) { + return ( + value.left < this.right && + this.left < value.right && + value.top < this.bottom && + this.top < value.bottom + ); }; - Rectangle.prototype.contains = function(value) { - return ((((this.x <= value.x) && (value.x < (this.x + this.width))) && - (this.y <= value.y)) && - (value.y < (this.y + this.height))); + Rectangle.prototype.contains = function (value) { + return ( + this.x <= value.x && + value.x < this.x + this.width && + this.y <= value.y && + value.y < this.y + this.height + ); }; - Rectangle.prototype.containsRect = function(value) { - return ((((this.x <= value.x) && (value.x < (this.x + this.width))) && - (this.y <= value.y)) && - (value.y < (this.y + this.height))); + Rectangle.prototype.containsRect = function (value) { + return ( + this.x <= value.x && + value.x < this.x + this.width && + this.y <= value.y && + value.y < this.y + this.height + ); }; - Rectangle.prototype.getHalfSize = - function() { return new Vector2(this.width * 0.5, this.height * 0.5); }; - Rectangle.fromMinMax = function( - minX, minY, maxX, - maxY) { return new Rectangle(minX, minY, maxX - minX, maxY - minY); }; - Rectangle.prototype.getClosestPointOnRectangleBorderToPoint = function( - point) { + Rectangle.prototype.getHalfSize = function () { + return new Vector2(this.width * 0.5, this.height * 0.5); + }; + Rectangle.fromMinMax = function (minX, minY, maxX, maxY) { + return new Rectangle(minX, minY, maxX - minX, maxY - minY); + }; + Rectangle.prototype.getClosestPointOnRectangleBorderToPoint = function ( + point + ) { var edgeNormal = new Vector2(0, 0); var res = new Vector2(0, 0); res.x = MathHelper.clamp(point.x, this.left, this.right); @@ -3716,10 +4148,17 @@ var Rectangle = (function() { edgeNormal.y = 1; } } - return {res : res, edgeNormal : edgeNormal}; + return { res: res, edgeNormal: edgeNormal }; }; - Rectangle.prototype.calculateBounds = function( - parentPosition, position, origin, scale, rotation, width, height) { + Rectangle.prototype.calculateBounds = function ( + parentPosition, + position, + origin, + scale, + rotation, + width, + height + ) { if (rotation == 0) { this.x = parentPosition.x + position.x - origin.x * scale.x; this.y = parentPosition.y + position.y - origin.y * scale.y; @@ -3728,8 +4167,10 @@ var Rectangle = (function() { } else { var worldPosX = parentPosition.x + position.x; var worldPosY = parentPosition.y + position.y; - this._transformMat = Matrix2D.createTranslation(-worldPosX - origin.x, - -worldPosY - origin.y); + this._transformMat = Matrix2D.createTranslation( + -worldPosX - origin.x, + -worldPosY - origin.y + ); this._tempMat = Matrix2D.createScale(scale.x, scale.y); this._transformMat = Matrix2D.multiply(this._transformMat, this._tempMat); this._tempMat = Matrix2D.createRotation(rotation); @@ -3753,7 +4194,7 @@ var Rectangle = (function() { this.height = maxY - minY; } }; - Rectangle.rectEncompassingPoints = function(points) { + Rectangle.rectEncompassingPoints = function (points) { var minX = Number.POSITIVE_INFINITY; var minY = Number.POSITIVE_INFINITY; var maxX = Number.NEGATIVE_INFINITY; @@ -3776,8 +4217,8 @@ var Rectangle = (function() { return this.fromMinMax(minX, minY, maxX, maxY); }; return Rectangle; -}()); -var Vector2 = (function() { +})(); +var Vector2 = (function () { function Vector2(x, y) { this.x = 0; this.y = 0; @@ -3785,88 +4226,106 @@ var Vector2 = (function() { this.y = y ? y : this.x; } Object.defineProperty(Vector2, "zero", { - get : function() { return Vector2.zeroVector2; }, - enumerable : true, - configurable : true + get: function () { + return Vector2.zeroVector2; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Vector2, "one", { - get : function() { return Vector2.unitVector2; }, - enumerable : true, - configurable : true + get: function () { + return Vector2.unitVector2; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Vector2, "unitX", { - get : function() { return Vector2.unitXVector; }, - enumerable : true, - configurable : true + get: function () { + return Vector2.unitXVector; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Vector2, "unitY", { - get : function() { return Vector2.unitYVector; }, - enumerable : true, - configurable : true + get: function () { + return Vector2.unitYVector; + }, + enumerable: true, + configurable: true, }); - Vector2.add = function(value1, value2) { + Vector2.add = function (value1, value2) { var result = new Vector2(0, 0); result.x = value1.x + value2.x; result.y = value1.y + value2.y; return result; }; - Vector2.divide = function(value1, value2) { + Vector2.divide = function (value1, value2) { var result = new Vector2(0, 0); result.x = value1.x / value2.x; result.y = value1.y / value2.y; return result; }; - Vector2.multiply = function(value1, value2) { + Vector2.multiply = function (value1, value2) { var result = new Vector2(0, 0); result.x = value1.x * value2.x; result.y = value1.y * value2.y; return result; }; - Vector2.subtract = function(value1, value2) { + Vector2.subtract = function (value1, value2) { var result = new Vector2(0, 0); result.x = value1.x - value2.x; result.y = value1.y - value2.y; return result; }; - Vector2.prototype.normalize = function() { - var val = 1 / Math.sqrt((this.x * this.x) + (this.y * this.y)); + Vector2.prototype.normalize = function () { + var val = 1 / Math.sqrt(this.x * this.x + this.y * this.y); this.x *= val; this.y *= val; }; - Vector2.prototype.length = - function() { return Math.sqrt((this.x * this.x) + (this.y * this.y)); }; - Vector2.prototype.round = function() { + Vector2.prototype.length = function () { + return Math.sqrt(this.x * this.x + this.y * this.y); + }; + Vector2.prototype.round = function () { return new Vector2(Math.round(this.x), Math.round(this.y)); }; - Vector2.normalize = function(value) { - var val = 1 / Math.sqrt((value.x * value.x) + (value.y * value.y)); + Vector2.normalize = function (value) { + var val = 1 / Math.sqrt(value.x * value.x + value.y * value.y); value.x *= val; value.y *= val; return value; }; - Vector2.dot = function( - value1, value2) { return (value1.x * value2.x) + (value1.y * value2.y); }; - Vector2.distanceSquared = function(value1, value2) { - var v1 = value1.x - value2.x, v2 = value1.y - value2.y; - return (v1 * v1) + (v2 * v2); + Vector2.dot = function (value1, value2) { + return value1.x * value2.x + value1.y * value2.y; }; - Vector2.clamp = function(value1, min, max) { - return new Vector2(MathHelper.clamp(value1.x, min.x, max.x), - MathHelper.clamp(value1.y, min.y, max.y)); + Vector2.distanceSquared = function (value1, value2) { + var v1 = value1.x - value2.x, + v2 = value1.y - value2.y; + return v1 * v1 + v2 * v2; }; - Vector2.lerp = function(value1, value2, amount) { - return new Vector2(MathHelper.lerp(value1.x, value2.x, amount), - MathHelper.lerp(value1.y, value2.y, amount)); + Vector2.clamp = function (value1, min, max) { + return new Vector2( + MathHelper.clamp(value1.x, min.x, max.x), + MathHelper.clamp(value1.y, min.y, max.y) + ); }; - Vector2.transform = function(position, matrix) { - return new Vector2((position.x * matrix.m11) + (position.y * matrix.m21), - (position.x * matrix.m12) + (position.y * matrix.m22)); + Vector2.lerp = function (value1, value2, amount) { + return new Vector2( + MathHelper.lerp(value1.x, value2.x, amount), + MathHelper.lerp(value1.y, value2.y, amount) + ); }; - Vector2.distance = function(value1, value2) { - var v1 = value1.x - value2.x, v2 = value1.y - value2.y; - return Math.sqrt((v1 * v1) + (v2 * v2)); + Vector2.transform = function (position, matrix) { + return new Vector2( + position.x * matrix.m11 + position.y * matrix.m21, + position.x * matrix.m12 + position.y * matrix.m22 + ); }; - Vector2.negate = function(value) { + Vector2.distance = function (value1, value2) { + var v1 = value1.x - value2.x, + v2 = value1.y - value2.y; + return Math.sqrt(v1 * v1 + v2 * v2); + }; + Vector2.negate = function (value) { var result = new Vector2(); result.x = -value.x; result.y = -value.y; @@ -3877,43 +4336,46 @@ var Vector2 = (function() { Vector2.unitVector2 = new Vector2(1, 1); Vector2.zeroVector2 = new Vector2(0, 0); return Vector2; -}()); -var Vector3 = (function() { +})(); +var Vector3 = (function () { function Vector3(x, y, z) { this.x = x; this.y = y; this.z = z; } return Vector3; -}()); -var ColliderTriggerHelper = (function() { +})(); +var ColliderTriggerHelper = (function () { function ColliderTriggerHelper(entity) { this._activeTriggerIntersections = []; this._previousTriggerIntersections = []; this._tempTriggerList = []; this._entity = entity; } - ColliderTriggerHelper.prototype.update = function() { + ColliderTriggerHelper.prototype.update = function () { var colliders = this._entity.getComponents(Collider); for (var i = 0; i < colliders.length; i++) { var collider = colliders[i]; - var neighbors = Physics.boxcastBroadphase(collider.bounds, - collider.collidesWithLayers); - var _loop_5 = function(j) { + var neighbors = Physics.boxcastBroadphase( + collider.bounds, + collider.collidesWithLayers + ); + var _loop_5 = function (j) { var neighbor = neighbors[j]; - if (!collider.isTrigger && !neighbor.isTrigger) - return "continue"; + if (!collider.isTrigger && !neighbor.isTrigger) return "continue"; if (collider.overlaps(neighbor)) { var pair_1 = new Pair(collider, neighbor); var shouldReportTriggerEvent = - this_1._activeTriggerIntersections.findIndex(function(value) { - return value.first == pair_1.first && - value.second == pair_1.second; - }) == -1 && - this_1._previousTriggerIntersections.findIndex(function(value) { - return value.first == pair_1.first && - value.second == pair_1.second; - }) == -1; + this_1._activeTriggerIntersections.findIndex(function (value) { + return ( + value.first == pair_1.first && value.second == pair_1.second + ); + }) == -1 && + this_1._previousTriggerIntersections.findIndex(function (value) { + return ( + value.first == pair_1.first && value.second == pair_1.second + ); + }) == -1; if (shouldReportTriggerEvent) this_1.notifyTriggerListeners(pair_1, true); if (!this_1._activeTriggerIntersections.contains(pair_1)) @@ -3928,18 +4390,20 @@ var ColliderTriggerHelper = (function() { ListPool.free(colliders); this.checkForExitedColliders(); }; - ColliderTriggerHelper.prototype.checkForExitedColliders = function() { + ColliderTriggerHelper.prototype.checkForExitedColliders = function () { var _this = this; - var _loop_6 = function(i) { - var index = - this_2._previousTriggerIntersections.findIndex(function(value) { - if (value.first == _this._activeTriggerIntersections[i].first && - value.second == _this._activeTriggerIntersections[i].second) - return true; - return false; - }); - if (index != -1) - this_2._previousTriggerIntersections.removeAt(index); + var _loop_6 = function (i) { + var index = this_2._previousTriggerIntersections.findIndex(function ( + value + ) { + if ( + value.first == _this._activeTriggerIntersections[i].first && + value.second == _this._activeTriggerIntersections[i].second + ) + return true; + return false; + }); + if (index != -1) this_2._previousTriggerIntersections.removeAt(index); }; var this_2 = this; for (var i = 0; i < this._activeTriggerIntersections.length; i++) { @@ -3950,37 +4414,55 @@ var ColliderTriggerHelper = (function() { } this._previousTriggerIntersections.length = 0; for (var i = 0; i < this._activeTriggerIntersections.length; i++) { - if (!this._previousTriggerIntersections.contains( - this._activeTriggerIntersections[i])) { + if ( + !this._previousTriggerIntersections.contains( + this._activeTriggerIntersections[i] + ) + ) { this._previousTriggerIntersections.push( - this._activeTriggerIntersections[i]); + this._activeTriggerIntersections[i] + ); } } this._activeTriggerIntersections.length = 0; }; - ColliderTriggerHelper.prototype.notifyTriggerListeners = function( - collisionPair, isEntering) { - collisionPair.first.entity.getComponents("ITriggerListener", - this._tempTriggerList); + ColliderTriggerHelper.prototype.notifyTriggerListeners = function ( + collisionPair, + isEntering + ) { + collisionPair.first.entity.getComponents( + "ITriggerListener", + this._tempTriggerList + ); for (var i = 0; i < this._tempTriggerList.length; i++) { if (isEntering) { - this._tempTriggerList[i].onTriggerEnter(collisionPair.second, - collisionPair.first); + this._tempTriggerList[i].onTriggerEnter( + collisionPair.second, + collisionPair.first + ); } else { - this._tempTriggerList[i].onTriggerExit(collisionPair.second, - collisionPair.first); + this._tempTriggerList[i].onTriggerExit( + collisionPair.second, + collisionPair.first + ); } this._tempTriggerList.length = 0; if (collisionPair.second.entity) { - collisionPair.second.entity.getComponents("ITriggerListener", - this._tempTriggerList); + collisionPair.second.entity.getComponents( + "ITriggerListener", + this._tempTriggerList + ); for (var i_2 = 0; i_2 < this._tempTriggerList.length; i_2++) { if (isEntering) { - this._tempTriggerList[i_2].onTriggerEnter(collisionPair.first, - collisionPair.second); + this._tempTriggerList[i_2].onTriggerEnter( + collisionPair.first, + collisionPair.second + ); } else { - this._tempTriggerList[i_2].onTriggerExit(collisionPair.first, - collisionPair.second); + this._tempTriggerList[i_2].onTriggerExit( + collisionPair.first, + collisionPair.second + ); } } this._tempTriggerList.length = 0; @@ -3988,86 +4470,104 @@ var ColliderTriggerHelper = (function() { } }; return ColliderTriggerHelper; -}()); +})(); var PointSectors; -(function(PointSectors) { -PointSectors[PointSectors["center"] = 0] = "center"; -PointSectors[PointSectors["top"] = 1] = "top"; -PointSectors[PointSectors["bottom"] = 2] = "bottom"; -PointSectors[PointSectors["topLeft"] = 9] = "topLeft"; -PointSectors[PointSectors["topRight"] = 5] = "topRight"; -PointSectors[PointSectors["left"] = 8] = "left"; -PointSectors[PointSectors["right"] = 4] = "right"; -PointSectors[PointSectors["bottomLeft"] = 10] = "bottomLeft"; -PointSectors[PointSectors["bottomRight"] = 6] = "bottomRight"; +(function (PointSectors) { + PointSectors[(PointSectors["center"] = 0)] = "center"; + PointSectors[(PointSectors["top"] = 1)] = "top"; + PointSectors[(PointSectors["bottom"] = 2)] = "bottom"; + PointSectors[(PointSectors["topLeft"] = 9)] = "topLeft"; + PointSectors[(PointSectors["topRight"] = 5)] = "topRight"; + PointSectors[(PointSectors["left"] = 8)] = "left"; + PointSectors[(PointSectors["right"] = 4)] = "right"; + PointSectors[(PointSectors["bottomLeft"] = 10)] = "bottomLeft"; + PointSectors[(PointSectors["bottomRight"] = 6)] = "bottomRight"; })(PointSectors || (PointSectors = {})); -var Collisions = (function() { +var Collisions = (function () { function Collisions() {} - Collisions.isLineToLine = function(a1, a2, b1, b2) { + Collisions.isLineToLine = function (a1, a2, b1, b2) { var b = Vector2.subtract(a2, a1); var d = Vector2.subtract(b2, b1); var bDotDPerp = b.x * d.y - b.y * d.x; - if (bDotDPerp == 0) - return false; + if (bDotDPerp == 0) return false; var c = Vector2.subtract(b1, a1); var t = (c.x * d.y - c.y * d.x) / bDotDPerp; - if (t < 0 || t > 1) - return false; + if (t < 0 || t > 1) return false; var u = (c.x * b.y - c.y * b.x) / bDotDPerp; - if (u < 0 || u > 1) - return false; + if (u < 0 || u > 1) return false; return true; }; - Collisions.lineToLineIntersection = function(a1, a2, b1, b2) { + Collisions.lineToLineIntersection = function (a1, a2, b1, b2) { var intersection = new Vector2(0, 0); var b = Vector2.subtract(a2, a1); var d = Vector2.subtract(b2, b1); var bDotDPerp = b.x * d.y - b.y * d.x; - if (bDotDPerp == 0) - return intersection; + if (bDotDPerp == 0) return intersection; var c = Vector2.subtract(b1, a1); var t = (c.x * d.y - c.y * d.x) / bDotDPerp; - if (t < 0 || t > 1) - return intersection; + if (t < 0 || t > 1) return intersection; var u = (c.x * b.y - c.y * b.x) / bDotDPerp; - if (u < 0 || u > 1) - return intersection; + if (u < 0 || u > 1) return intersection; intersection = Vector2.add(a1, new Vector2(t * b.x, t * b.y)); return intersection; }; - Collisions.closestPointOnLine = function(lineA, lineB, closestTo) { + Collisions.closestPointOnLine = function (lineA, lineB, closestTo) { var v = Vector2.subtract(lineB, lineA); var w = Vector2.subtract(closestTo, lineA); var t = Vector2.dot(w, v) / Vector2.dot(v, v); t = MathHelper.clamp(t, 0, 1); return Vector2.add(lineA, new Vector2(v.x * t, v.y * t)); }; - Collisions.isCircleToCircle = function(circleCenter1, circleRadius1, - circleCenter2, circleRadius2) { - return Vector2.distanceSquared(circleCenter1, circleCenter2) < - (circleRadius1 + circleRadius2) * (circleRadius1 + circleRadius2); + Collisions.isCircleToCircle = function ( + circleCenter1, + circleRadius1, + circleCenter2, + circleRadius2 + ) { + return ( + Vector2.distanceSquared(circleCenter1, circleCenter2) < + (circleRadius1 + circleRadius2) * (circleRadius1 + circleRadius2) + ); }; - Collisions.isCircleToLine = function(circleCenter, radius, lineFrom, lineTo) { - return Vector2.distanceSquared( - circleCenter, - this.closestPointOnLine(lineFrom, lineTo, circleCenter)) < - radius * radius; + Collisions.isCircleToLine = function ( + circleCenter, + radius, + lineFrom, + lineTo + ) { + return ( + Vector2.distanceSquared( + circleCenter, + this.closestPointOnLine(lineFrom, lineTo, circleCenter) + ) < + radius * radius + ); }; - Collisions.isCircleToPoint = function(circleCenter, radius, point) { + Collisions.isCircleToPoint = function (circleCenter, radius, point) { return Vector2.distanceSquared(circleCenter, point) < radius * radius; }; - Collisions.isRectToCircle = function(rect, cPosition, cRadius) { + Collisions.isRectToCircle = function (rect, cPosition, cRadius) { var ew = rect.width * 0.5; var eh = rect.height * 0.5; var vx = Math.max(0, Math.max(cPosition.x - rect.x) - ew); var vy = Math.max(0, Math.max(cPosition.y - rect.y) - eh); return vx * vx + vy * vy < cRadius * cRadius; }; - Collisions.isRectToLine = function(rect, lineFrom, lineTo) { - var fromSector = - this.getSector(rect.x, rect.y, rect.width, rect.height, lineFrom); - var toSector = - this.getSector(rect.x, rect.y, rect.width, rect.height, lineTo); + Collisions.isRectToLine = function (rect, lineFrom, lineTo) { + var fromSector = this.getSector( + rect.x, + rect.y, + rect.width, + rect.height, + lineFrom + ); + var toSector = this.getSector( + rect.x, + rect.y, + rect.width, + rect.height, + lineTo + ); if (fromSector == PointSectors.center || toSector == PointSectors.center) { return true; } else if ((fromSector & toSector) != 0) { @@ -4079,89 +4579,90 @@ var Collisions = (function() { if ((both & PointSectors.top) != 0) { edgeFrom = new Vector2(rect.x, rect.y); edgeTo = new Vector2(rect.x + rect.width, rect.y); - if (this.isLineToLine(edgeFrom, edgeTo, lineFrom, lineTo)) - return true; + if (this.isLineToLine(edgeFrom, edgeTo, lineFrom, lineTo)) return true; } if ((both & PointSectors.bottom) != 0) { edgeFrom = new Vector2(rect.x, rect.y + rect.height); edgeTo = new Vector2(rect.x + rect.width, rect.y + rect.height); - if (this.isLineToLine(edgeFrom, edgeTo, lineFrom, lineTo)) - return true; + if (this.isLineToLine(edgeFrom, edgeTo, lineFrom, lineTo)) return true; } if ((both & PointSectors.left) != 0) { edgeFrom = new Vector2(rect.x, rect.y); edgeTo = new Vector2(rect.x, rect.y + rect.height); - if (this.isLineToLine(edgeFrom, edgeTo, lineFrom, lineTo)) - return true; + if (this.isLineToLine(edgeFrom, edgeTo, lineFrom, lineTo)) return true; } if ((both & PointSectors.right) != 0) { edgeFrom = new Vector2(rect.x + rect.width, rect.y); edgeTo = new Vector2(rect.x + rect.width, rect.y + rect.height); - if (this.isLineToLine(edgeFrom, edgeTo, lineFrom, lineTo)) - return true; + if (this.isLineToLine(edgeFrom, edgeTo, lineFrom, lineTo)) return true; } } return false; }; - Collisions.isRectToPoint = function(rX, rY, rW, rH, point) { - return point.x >= rX && point.y >= rY && point.x < rX + rW && - point.y < rY + rH; + Collisions.isRectToPoint = function (rX, rY, rW, rH, point) { + return ( + point.x >= rX && point.y >= rY && point.x < rX + rW && point.y < rY + rH + ); }; - Collisions.getSector = function(rX, rY, rW, rH, point) { + Collisions.getSector = function (rX, rY, rW, rH, point) { var sector = PointSectors.center; - if (point.x < rX) - sector |= PointSectors.left; - else if (point.x >= rX + rW) - sector |= PointSectors.right; - if (point.y < rY) - sector |= PointSectors.top; - else if (point.y >= rY + rH) - sector |= PointSectors.bottom; + if (point.x < rX) sector |= PointSectors.left; + else if (point.x >= rX + rW) sector |= PointSectors.right; + if (point.y < rY) sector |= PointSectors.top; + else if (point.y >= rY + rH) sector |= PointSectors.bottom; return sector; }; return Collisions; -}()); -var Physics = (function() { +})(); +var Physics = (function () { function Physics() {} - Physics.reset = function() { + Physics.reset = function () { this._spatialHash = new SpatialHash(this.spatialHashCellSize); }; - Physics.clear = function() { this._spatialHash.clear(); }; - Physics.overlapCircleAll = function(center, randius, results, layerMask) { + Physics.clear = function () { + this._spatialHash.clear(); + }; + Physics.overlapCircleAll = function (center, randius, results, layerMask) { if (layerMask === void 0) { layerMask = -1; } return this._spatialHash.overlapCircle(center, randius, results, layerMask); }; - Physics.boxcastBroadphase = function(rect, layerMask) { + Physics.boxcastBroadphase = function (rect, layerMask) { if (layerMask === void 0) { layerMask = this.allLayers; } return this._spatialHash.aabbBroadphase(rect, null, layerMask); }; - Physics.boxcastBroadphaseExcludingSelf = function(collider, rect, layerMask) { + Physics.boxcastBroadphaseExcludingSelf = function ( + collider, + rect, + layerMask + ) { if (layerMask === void 0) { layerMask = this.allLayers; } return this._spatialHash.aabbBroadphase(rect, collider, layerMask); }; - Physics.addCollider = function( - collider) { Physics._spatialHash.register(collider); }; - Physics.removeCollider = function( - collider) { Physics._spatialHash.remove(collider); }; - Physics.updateCollider = function(collider) { + Physics.addCollider = function (collider) { + Physics._spatialHash.register(collider); + }; + Physics.removeCollider = function (collider) { + Physics._spatialHash.remove(collider); + }; + Physics.updateCollider = function (collider) { this._spatialHash.remove(collider); this._spatialHash.register(collider); }; Physics.spatialHashCellSize = 100; Physics.allLayers = -1; return Physics; -}()); -var Shape = (function() { +})(); +var Shape = (function () { function Shape() {} return Shape; -}()); -var Polygon = (function(_super) { +})(); +var Polygon = (function (_super) { __extends(Polygon, _super); function Polygon(points, isBox) { var _this = _super.call(this) || this; @@ -4172,31 +4673,28 @@ var Polygon = (function(_super) { return _this; } Object.defineProperty(Polygon.prototype, "edgeNormals", { - get : function() { - if (this._areEdgeNormalsDirty) - this.buildEdgeNormals(); + get: function () { + if (this._areEdgeNormalsDirty) this.buildEdgeNormals(); return this._edgeNormals; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); - Polygon.prototype.buildEdgeNormals = function() { + Polygon.prototype.buildEdgeNormals = function () { var totalEdges = this.isBox ? 2 : this.points.length; if (this._edgeNormals == null || this._edgeNormals.length != totalEdges) this._edgeNormals = new Array(totalEdges); var p2; for (var i = 0; i < totalEdges; i++) { var p1 = this.points[i]; - if (i + 1 >= this.points.length) - p2 = this.points[0]; - else - p2 = this.points[i + 1]; + if (i + 1 >= this.points.length) p2 = this.points[0]; + else p2 = this.points[i + 1]; var perp = Vector2Ext.perpendicular(p1, p2); perp = Vector2.normalize(perp); this._edgeNormals[i] = perp; } }; - Polygon.prototype.setPoints = function(points) { + Polygon.prototype.setPoints = function (points) { this.points = points; this.recalculateCenterAndEdgeNormals(); this._originalPoints = []; @@ -4204,7 +4702,7 @@ var Polygon = (function(_super) { this._originalPoints.push(this.points[i]); } }; - Polygon.prototype.collidesWithShape = function(other) { + Polygon.prototype.collidesWithShape = function (other) { var result = new CollisionResult(); if (other instanceof Polygon) { return ShapeCollisions.polygonToPolygon(this, other); @@ -4219,11 +4717,11 @@ var Polygon = (function(_super) { } throw new Error("overlaps of Polygon to " + other + " are not supported"); }; - Polygon.prototype.recalculateCenterAndEdgeNormals = function() { + Polygon.prototype.recalculateCenterAndEdgeNormals = function () { this._polygonCenter = Polygon.findPolygonCenter(this.points); this._areEdgeNormalsDirty = true; }; - Polygon.prototype.overlaps = function(other) { + Polygon.prototype.overlaps = function (other) { var result; if (other instanceof Polygon) return ShapeCollisions.polygonToPolygon(this, other); @@ -4237,25 +4735,28 @@ var Polygon = (function(_super) { } throw new Error("overlaps of Pologon to " + other + " are not supported"); }; - Polygon.findPolygonCenter = function(points) { - var x = 0, y = 0; + Polygon.findPolygonCenter = function (points) { + var x = 0, + y = 0; for (var i = 0; i < points.length; i++) { x += points[i].x; y += points[i].y; } return new Vector2(x / points.length, y / points.length); }; - Polygon.getClosestPointOnPolygonToPoint = function(points, point) { + Polygon.getClosestPointOnPolygonToPoint = function (points, point) { var distanceSquared = Number.MAX_VALUE; var edgeNormal = new Vector2(0, 0); var closestPoint = new Vector2(0, 0); var tempDistanceSquared; for (var i = 0; i < points.length; i++) { var j = i + 1; - if (j == points.length) - j = 0; - var closest = - ShapeCollisions.closestPointOnLine(points[i], points[j], point); + if (j == points.length) j = 0; + var closest = ShapeCollisions.closestPointOnLine( + points[i], + points[j], + point + ); tempDistanceSquared = Vector2.distanceSquared(point, closest); if (tempDistanceSquared < distanceSquared) { distanceSquared = tempDistanceSquared; @@ -4267,29 +4768,36 @@ var Polygon = (function(_super) { } edgeNormal = Vector2.normalize(edgeNormal); return { - closestPoint : closestPoint, - distanceSquared : distanceSquared, - edgeNormal : edgeNormal + closestPoint: closestPoint, + distanceSquared: distanceSquared, + edgeNormal: edgeNormal, }; }; - Polygon.prototype.pointCollidesWithShape = function( - point) { return ShapeCollisions.pointToPoly(point, this); }; - Polygon.prototype.containsPoint = function(point) { + Polygon.prototype.pointCollidesWithShape = function (point) { + return ShapeCollisions.pointToPoly(point, this); + }; + Polygon.prototype.containsPoint = function (point) { point = Vector2.subtract(point, this.position); var isInside = false; - for (var i = 0, j = this.points.length - 1; i < this.points.length; - j = i++) { - if (((this.points[i].y > point.y) != (this.points[j].y > point.y)) && - (point.x < (this.points[j].x - this.points[i].x) * - (point.y - this.points[i].y) / - (this.points[j].y - this.points[i].y) + - this.points[i].x)) { + for ( + var i = 0, j = this.points.length - 1; + i < this.points.length; + j = i++ + ) { + if ( + this.points[i].y > point.y != this.points[j].y > point.y && + point.x < + ((this.points[j].x - this.points[i].x) * + (point.y - this.points[i].y)) / + (this.points[j].y - this.points[i].y) + + this.points[i].x + ) { isInside = !isInside; } } return isInside; }; - Polygon.buildSymmertricalPolygon = function(vertCount, radius) { + Polygon.buildSymmertricalPolygon = function (vertCount, radius) { var verts = new Array(vertCount); for (var i = 0; i < vertCount; i++) { var a = 2 * Math.PI * (i / vertCount); @@ -4297,52 +4805,62 @@ var Polygon = (function(_super) { } return verts; }; - Polygon.prototype.recalculateBounds = function(collider) { + Polygon.prototype.recalculateBounds = function (collider) { this.center = collider.localOffset; if (collider.shouldColliderScaleAndRotationWithTransform) { var hasUnitScale = true; var tempMat = void 0; - var combinedMatrix = Matrix2D.createTranslation(-this._polygonCenter.x, - -this._polygonCenter.y); + var combinedMatrix = Matrix2D.createTranslation( + -this._polygonCenter.x, + -this._polygonCenter.y + ); if (collider.entity.scale != Vector2.one) { - tempMat = Matrix2D.createScale(collider.entity.scale.x, - collider.entity.scale.y); + tempMat = Matrix2D.createScale( + collider.entity.scale.x, + collider.entity.scale.y + ); combinedMatrix = Matrix2D.multiply(combinedMatrix, tempMat); hasUnitScale = false; - var scaledOffset = - Vector2.multiply(collider.localOffset, collider.entity.scale); + var scaledOffset = Vector2.multiply( + collider.localOffset, + collider.entity.scale + ); this.center = scaledOffset; } if (collider.entity.rotation != 0) { tempMat = Matrix2D.createRotation(collider.entity.rotation); combinedMatrix = Matrix2D.multiply(combinedMatrix, tempMat); var offsetAngle = - Math.atan2(collider.localOffset.y, collider.localOffset.x) * - MathHelper.Rad2Deg; + Math.atan2(collider.localOffset.y, collider.localOffset.x) * + MathHelper.Rad2Deg; var offsetLength = hasUnitScale - ? collider._localOffsetLength - : (Vector2.multiply(collider.localOffset, - collider.entity.scale)) - .length(); + ? collider._localOffsetLength + : Vector2.multiply( + collider.localOffset, + collider.entity.scale + ).length(); this.center = MathHelper.pointOnCirlce( - Vector2.zero, offsetLength, - MathHelper.toDegrees(collider.entity.rotation) + offsetAngle); + Vector2.zero, + offsetLength, + MathHelper.toDegrees(collider.entity.rotation) + offsetAngle + ); } - tempMat = Matrix2D.createTranslation(this._polygonCenter.x, - this._polygonCenter.y); + tempMat = Matrix2D.createTranslation( + this._polygonCenter.x, + this._polygonCenter.y + ); combinedMatrix = Matrix2D.multiply(combinedMatrix, tempMat); Vector2Ext.transform(this._originalPoints, combinedMatrix, this.points); this.isUnrotated = collider.entity.rotation == 0; - if (collider._isRotationDirty) - this._areEdgeNormalsDirty = true; + if (collider._isRotationDirty) this._areEdgeNormalsDirty = true; } this.position = Vector2.add(collider.entity.position, this.center); this.bounds = Rectangle.rectEncompassingPoints(this.points); this.bounds.location = Vector2.add(this.bounds.location, this.position); }; return Polygon; -}(Shape)); -var Box = (function(_super) { +})(Shape); +var Box = (function (_super) { __extends(Box, _super); function Box(width, height) { var _this = _super.call(this, Box.buildBox(width, height), true) || this; @@ -4350,7 +4868,7 @@ var Box = (function(_super) { _this.height = height; return _this; } - Box.buildBox = function(width, height) { + Box.buildBox = function (width, height) { var halfWidth = width / 2; var halfHeight = height / 2; var verts = new Array(4); @@ -4360,7 +4878,7 @@ var Box = (function(_super) { verts[3] = new Vector2(-halfWidth, halfHeight); return verts; }; - Box.prototype.updateBox = function(width, height) { + Box.prototype.updateBox = function (width, height) { this.width = width; this.height = height; var halfWidth = width / 2; @@ -4372,14 +4890,13 @@ var Box = (function(_super) { for (var i = 0; i < this.points.length; i++) this._originalPoints[i] = this.points[i]; }; - Box.prototype.containsPoint = function(point) { - if (this.isUnrotated) - return this.bounds.contains(point); + Box.prototype.containsPoint = function (point) { + if (this.isUnrotated) return this.bounds.contains(point); return _super.prototype.containsPoint.call(this, point); }; return Box; -}(Polygon)); -var Circle = (function(_super) { +})(Polygon); +var Circle = (function (_super) { __extends(Circle, _super); function Circle(radius) { var _this = _super.call(this) || this; @@ -4387,9 +4904,10 @@ var Circle = (function(_super) { _this._originalRadius = radius; return _this; } - Circle.prototype.pointCollidesWithShape = function( - point) { return ShapeCollisions.pointToCircle(point, this); }; - Circle.prototype.collidesWithShape = function(other) { + Circle.prototype.pointCollidesWithShape = function (point) { + return ShapeCollisions.pointToCircle(point, this); + }; + Circle.prototype.collidesWithShape = function (other) { if (other instanceof Box && other.isUnrotated) { return ShapeCollisions.circleToBox(this, other); } @@ -4401,7 +4919,7 @@ var Circle = (function(_super) { } throw new Error("Collisions of Circle to " + other + " are not supported"); }; - Circle.prototype.recalculateBounds = function(collider) { + Circle.prototype.recalculateBounds = function (collider) { this.center = collider.localOffset; if (collider.shouldColliderScaleAndRotationWithTransform) { var scale = collider.entity.scale; @@ -4410,48 +4928,62 @@ var Circle = (function(_super) { this.radius = this._originalRadius * maxScale; if (collider.entity.rotation != 0) { var offsetAngle = - Math.atan2(collider.localOffset.y, collider.localOffset.x) * - MathHelper.Rad2Deg; + Math.atan2(collider.localOffset.y, collider.localOffset.x) * + MathHelper.Rad2Deg; var offsetLength = hasUnitScale - ? collider._localOffsetLength - : (Vector2.multiply(collider.localOffset, - collider.entity.scale)) - .length(); + ? collider._localOffsetLength + : Vector2.multiply( + collider.localOffset, + collider.entity.scale + ).length(); this.center = MathHelper.pointOnCirlce( - Vector2.zero, offsetLength, - MathHelper.toDegrees(collider.entity.rotation) + offsetAngle); + Vector2.zero, + offsetLength, + MathHelper.toDegrees(collider.entity.rotation) + offsetAngle + ); } } this.position = Vector2.add(collider.entity.position, this.center); - this.bounds = new Rectangle(this.position.x - this.radius, - this.position.y - this.radius, this.radius * 2, - this.radius * 2); + this.bounds = new Rectangle( + this.position.x - this.radius, + this.position.y - this.radius, + this.radius * 2, + this.radius * 2 + ); }; - Circle.prototype.overlaps = function(other) { + Circle.prototype.overlaps = function (other) { if (other instanceof Box && other.isUnrotated) - return Collisions.isRectToCircle(other.bounds, this.position, - this.radius); + return Collisions.isRectToCircle( + other.bounds, + this.position, + this.radius + ); if (other instanceof Circle) - return Collisions.isCircleToCircle(this.position, this.radius, - other.position, other.radius); + return Collisions.isCircleToCircle( + this.position, + this.radius, + other.position, + other.radius + ); if (other instanceof Polygon) return ShapeCollisions.circleToPolygon(this, other); throw new Error("overlaps of circle to " + other + " are not supported"); }; return Circle; -}(Shape)); -var CollisionResult = (function() { +})(Shape); +var CollisionResult = (function () { function CollisionResult() {} - CollisionResult.prototype.invertResult = function() { - this.minimumTranslationVector = - Vector2.negate(this.minimumTranslationVector); + CollisionResult.prototype.invertResult = function () { + this.minimumTranslationVector = Vector2.negate( + this.minimumTranslationVector + ); this.normal = Vector2.negate(this.normal); }; return CollisionResult; -}()); -var ShapeCollisions = (function() { +})(); +var ShapeCollisions = (function () { function ShapeCollisions() {} - ShapeCollisions.polygonToPolygon = function(first, second) { + ShapeCollisions.polygonToPolygon = function (first, second) { var result = new CollisionResult(); var isIntersecting = true; var firstEdges = first.edgeNormals; @@ -4460,8 +4992,11 @@ var ShapeCollisions = (function() { var translationAxis = new Vector2(); var polygonOffset = Vector2.subtract(first.position, second.position); var axis; - for (var edgeIndex = 0; edgeIndex < firstEdges.length + secondEdges.length; - edgeIndex++) { + for ( + var edgeIndex = 0; + edgeIndex < firstEdges.length + secondEdges.length; + edgeIndex++ + ) { if (edgeIndex < firstEdges.length) { axis = firstEdges[edgeIndex]; } else { @@ -4482,10 +5017,8 @@ var ShapeCollisions = (function() { minA += relativeIntervalOffset; maxA += relativeIntervalOffset; intervalDist = this.intervalDistance(minA, maxA, minB, maxB); - if (intervalDist > 0) - isIntersecting = false; - if (!isIntersecting) - return null; + if (intervalDist > 0) isIntersecting = false; + if (!isIntersecting) return null; intervalDist = Math.abs(intervalDist); if (intervalDist < minIntervalDistance) { minIntervalDistance = intervalDist; @@ -4496,15 +5029,16 @@ var ShapeCollisions = (function() { } result.normal = translationAxis; result.minimumTranslationVector = Vector2.multiply( - new Vector2(-translationAxis), new Vector2(minIntervalDistance)); + new Vector2(-translationAxis), + new Vector2(minIntervalDistance) + ); return result; }; - ShapeCollisions.intervalDistance = function(minA, maxA, minB, maxB) { - if (minA < minB) - return minB - maxA; + ShapeCollisions.intervalDistance = function (minA, maxA, minB, maxB) { + if (minA < minB) return minB - maxA; return minA - minB; }; - ShapeCollisions.getInterval = function(axis, polygon, min, max) { + ShapeCollisions.getInterval = function (axis, polygon, min, max) { var dot = Vector2.dot(polygon.points[0], axis); min = max = dot; for (var i = 1; i < polygon.points.length; i++) { @@ -4515,132 +5049,163 @@ var ShapeCollisions = (function() { max = dot; } } - return {min : min, max : max}; + return { min: min, max: max }; }; - ShapeCollisions.circleToPolygon = function(circle, polygon) { + ShapeCollisions.circleToPolygon = function (circle, polygon) { var result = new CollisionResult(); var poly2Circle = Vector2.subtract(circle.position, polygon.position); - var gpp = - Polygon.getClosestPointOnPolygonToPoint(polygon.points, poly2Circle); + var gpp = Polygon.getClosestPointOnPolygonToPoint( + polygon.points, + poly2Circle + ); var closestPoint = gpp.closestPoint; var distanceSquared = gpp.distanceSquared; result.normal = gpp.edgeNormal; var circleCenterInsidePoly = polygon.containsPoint(circle.position); - if (distanceSquared > circle.radius * circle.radius && - !circleCenterInsidePoly) + if ( + distanceSquared > circle.radius * circle.radius && + !circleCenterInsidePoly + ) return null; var mtv; if (circleCenterInsidePoly) { mtv = Vector2.multiply( - result.normal, - new Vector2(Math.sqrt(distanceSquared) - circle.radius)); + result.normal, + new Vector2(Math.sqrt(distanceSquared) - circle.radius) + ); } else { if (distanceSquared == 0) { mtv = Vector2.multiply(result.normal, new Vector2(circle.radius)); } else { var distance = Math.sqrt(distanceSquared); mtv = Vector2.multiply( - new Vector2(-Vector2.subtract(poly2Circle, closestPoint)), - new Vector2((circle.radius - distanceSquared) / distance)); + new Vector2(-Vector2.subtract(poly2Circle, closestPoint)), + new Vector2((circle.radius - distanceSquared) / distance) + ); } } result.minimumTranslationVector = mtv; result.point = Vector2.add(closestPoint, polygon.position); return result; }; - ShapeCollisions.circleToBox = function(circle, box) { + ShapeCollisions.circleToBox = function (circle, box) { var result = new CollisionResult(); - var closestPointOnBounds = - box.bounds.getClosestPointOnRectangleBorderToPoint(circle.position).res; + var closestPointOnBounds = box.bounds.getClosestPointOnRectangleBorderToPoint( + circle.position + ).res; if (box.containsPoint(circle.position)) { result.point = closestPointOnBounds; var safePlace = Vector2.add( - closestPointOnBounds, - Vector2.subtract(result.normal, new Vector2(circle.radius))); - result.minimumTranslationVector = - Vector2.subtract(circle.position, safePlace); + closestPointOnBounds, + Vector2.subtract(result.normal, new Vector2(circle.radius)) + ); + result.minimumTranslationVector = Vector2.subtract( + circle.position, + safePlace + ); return result; } - var sqrDistance = - Vector2.distanceSquared(closestPointOnBounds, circle.position); + var sqrDistance = Vector2.distanceSquared( + closestPointOnBounds, + circle.position + ); if (sqrDistance == 0) { - result.minimumTranslationVector = - Vector2.multiply(result.normal, new Vector2(circle.radius)); + result.minimumTranslationVector = Vector2.multiply( + result.normal, + new Vector2(circle.radius) + ); } else if (sqrDistance <= circle.radius * circle.radius) { result.normal = Vector2.subtract(circle.position, closestPointOnBounds); var depth = result.normal.length() - circle.radius; result.normal = Vector2Ext.normalize(result.normal); - result.minimumTranslationVector = - Vector2.multiply(new Vector2(depth), result.normal); + result.minimumTranslationVector = Vector2.multiply( + new Vector2(depth), + result.normal + ); return result; } return null; }; - ShapeCollisions.pointToCircle = function(point, circle) { + ShapeCollisions.pointToCircle = function (point, circle) { var result = new CollisionResult(); var distanceSquared = Vector2.distanceSquared(point, circle.position); var sumOfRadii = 1 + circle.radius; var collided = distanceSquared < sumOfRadii * sumOfRadii; if (collided) { - result.normal = - Vector2.normalize(Vector2.subtract(point, circle.position)); + result.normal = Vector2.normalize( + Vector2.subtract(point, circle.position) + ); var depth = sumOfRadii - Math.sqrt(distanceSquared); - result.minimumTranslationVector = - Vector2.multiply(new Vector2(-depth, -depth), result.normal); + result.minimumTranslationVector = Vector2.multiply( + new Vector2(-depth, -depth), + result.normal + ); result.point = Vector2.add( - circle.position, - Vector2.multiply(result.normal, - new Vector2(circle.radius, circle.radius))); + circle.position, + Vector2.multiply( + result.normal, + new Vector2(circle.radius, circle.radius) + ) + ); return result; } return null; }; - ShapeCollisions.closestPointOnLine = function(lineA, lineB, closestTo) { + ShapeCollisions.closestPointOnLine = function (lineA, lineB, closestTo) { var v = Vector2.subtract(lineB, lineA); var w = Vector2.subtract(closestTo, lineA); var t = Vector2.dot(w, v) / Vector2.dot(v, v); t = MathHelper.clamp(t, 0, 1); return Vector2.add(lineA, Vector2.multiply(v, new Vector2(t, t))); }; - ShapeCollisions.pointToPoly = function(point, poly) { + ShapeCollisions.pointToPoly = function (point, poly) { var result = new CollisionResult(); if (poly.containsPoint(point)) { var distanceSquared = void 0; var gpp = Polygon.getClosestPointOnPolygonToPoint( - poly.points, Vector2.subtract(point, poly.position)); + poly.points, + Vector2.subtract(point, poly.position) + ); var closestPoint = gpp.closestPoint; distanceSquared = gpp.distanceSquared; result.normal = gpp.edgeNormal; result.minimumTranslationVector = Vector2.multiply( - result.normal, - new Vector2(Math.sqrt(distanceSquared), Math.sqrt(distanceSquared))); + result.normal, + new Vector2(Math.sqrt(distanceSquared), Math.sqrt(distanceSquared)) + ); result.point = Vector2.add(closestPoint, poly.position); return result; } return null; }; - ShapeCollisions.circleToCircle = function(first, second) { + ShapeCollisions.circleToCircle = function (first, second) { var result = new CollisionResult(); - var distanceSquared = - Vector2.distanceSquared(first.position, second.position); + var distanceSquared = Vector2.distanceSquared( + first.position, + second.position + ); var sumOfRadii = first.radius + second.radius; var collided = distanceSquared < sumOfRadii * sumOfRadii; if (collided) { - result.normal = - Vector2.normalize(Vector2.subtract(first.position, second.position)); + result.normal = Vector2.normalize( + Vector2.subtract(first.position, second.position) + ); var depth = sumOfRadii - Math.sqrt(distanceSquared); - result.minimumTranslationVector = - Vector2.multiply(new Vector2(-depth), result.normal); + result.minimumTranslationVector = Vector2.multiply( + new Vector2(-depth), + result.normal + ); result.point = Vector2.add( - second.position, - Vector2.multiply(result.normal, new Vector2(second.radius))); + second.position, + Vector2.multiply(result.normal, new Vector2(second.radius)) + ); return result; } return null; }; return ShapeCollisions; -}()); -var SpatialHash = (function() { +})(); +var SpatialHash = (function () { function SpatialHash(cellSize) { if (cellSize === void 0) { cellSize = 100; @@ -4652,7 +5217,7 @@ var SpatialHash = (function() { this._inverseCellSize = 1 / this._cellSize; this._raycastParser = new RaycastResultParser(); } - SpatialHash.prototype.remove = function(collider) { + SpatialHash.prototype.remove = function (collider) { var bounds = collider.registeredPhysicsBounds; var p1 = this.cellCoords(bounds.x, bounds.y); var p2 = this.cellCoords(bounds.right, bounds.bottom); @@ -4660,14 +5225,16 @@ var SpatialHash = (function() { for (var y = p1.y; y <= p2.y; y++) { var cell = this.cellAtPosition(x, y); if (!cell) - console.error("removing Collider [" + collider + - "] from a cell that it is not present in"); - else - cell.remove(collider); + console.error( + "removing Collider [" + + collider + + "] from a cell that it is not present in" + ); + else cell.remove(collider); } } }; - SpatialHash.prototype.register = function(collider) { + SpatialHash.prototype.register = function (collider) { var bounds = collider.bounds; collider.registeredPhysicsBounds = bounds; var p1 = this.cellCoords(bounds.x, bounds.y); @@ -4685,11 +5252,21 @@ var SpatialHash = (function() { } } }; - SpatialHash.prototype.clear = function() { this._cellDict.clear(); }; - SpatialHash.prototype.overlapCircle = function(circleCenter, radius, results, - layerMask) { - var bounds = new Rectangle(circleCenter.x - radius, circleCenter.y - radius, - radius * 2, radius * 2); + SpatialHash.prototype.clear = function () { + this._cellDict.clear(); + }; + SpatialHash.prototype.overlapCircle = function ( + circleCenter, + radius, + results, + layerMask + ) { + var bounds = new Rectangle( + circleCenter.x - radius, + circleCenter.y - radius, + radius * 2, + radius * 2 + ); this._overlapTestCircle.radius = radius; this._overlapTestCircle.position = circleCenter; var resultCounter = 0; @@ -4701,27 +5278,31 @@ var SpatialHash = (function() { resultCounter++; } else { throw new Error( - "overlapCircle against this collider type is not implemented!"); + "overlapCircle against this collider type is not implemented!" + ); } - if (resultCounter == results.length) - return resultCounter; + if (resultCounter == results.length) return resultCounter; } return resultCounter; }; - SpatialHash.prototype.aabbBroadphase = function(bounds, excludeCollider, - layerMask) { + SpatialHash.prototype.aabbBroadphase = function ( + bounds, + excludeCollider, + layerMask + ) { this._tempHashSet.length = 0; var p1 = this.cellCoords(bounds.x, bounds.y); var p2 = this.cellCoords(bounds.right, bounds.bottom); for (var x = p1.x; x <= p2.x; x++) { for (var y = p1.y; y <= p2.y; y++) { var cell = this.cellAtPosition(x, y); - if (!cell) - continue; + if (!cell) continue; for (var i = 0; i < cell.length; i++) { var collider = cell[i]; - if (collider == excludeCollider || - !Flags.isFlagSet(layerMask, collider.physicsLayer)) + if ( + collider == excludeCollider || + !Flags.isFlagSet(layerMask, collider.physicsLayer) + ) continue; if (bounds.intersects(collider.bounds)) { if (this._tempHashSet.indexOf(collider) == -1) @@ -4732,7 +5313,7 @@ var SpatialHash = (function() { } return this._tempHashSet; }; - SpatialHash.prototype.cellAtPosition = function(x, y, createCellIfEmpty) { + SpatialHash.prototype.cellAtPosition = function (x, y, createCellIfEmpty) { if (createCellIfEmpty === void 0) { createCellIfEmpty = false; } @@ -4745,48 +5326,55 @@ var SpatialHash = (function() { } return cell; }; - SpatialHash.prototype.cellCoords = function(x, y) { - return new Point(Math.floor(x * this._inverseCellSize), - Math.floor(y * this._inverseCellSize)); + SpatialHash.prototype.cellCoords = function (x, y) { + return new Point( + Math.floor(x * this._inverseCellSize), + Math.floor(y * this._inverseCellSize) + ); }; return SpatialHash; -}()); -var RaycastResultParser = (function() { +})(); +var RaycastResultParser = (function () { function RaycastResultParser() {} return RaycastResultParser; -}()); -var NumberDictionary = (function() { - function NumberDictionary() { this._store = new Map(); } - NumberDictionary.prototype.getKey = function(x, y) { +})(); +var NumberDictionary = (function () { + function NumberDictionary() { + this._store = new Map(); + } + NumberDictionary.prototype.getKey = function (x, y) { return Long.fromNumber(x).shiftLeft(32).or(this.intToUint(y)).toString(); }; - NumberDictionary.prototype.intToUint = function(i) { - if (i >= 0) - return i; - else - return 4294967296 + i; + NumberDictionary.prototype.intToUint = function (i) { + if (i >= 0) return i; + else return 4294967296 + i; }; - NumberDictionary.prototype.add = function( - x, y, list) { this._store.set(this.getKey(x, y), list); }; - NumberDictionary.prototype.remove = function(obj) { - this._store.forEach(function(list) { - if (list.contains(obj)) - list.remove(obj); + NumberDictionary.prototype.add = function (x, y, list) { + this._store.set(this.getKey(x, y), list); + }; + NumberDictionary.prototype.remove = function (obj) { + this._store.forEach(function (list) { + if (list.contains(obj)) list.remove(obj); }); }; - NumberDictionary.prototype.tryGetValue = function( - x, y) { return this._store.get(this.getKey(x, y)); }; - NumberDictionary.prototype.clear = function() { this._store.clear(); }; + NumberDictionary.prototype.tryGetValue = function (x, y) { + return this._store.get(this.getKey(x, y)); + }; + NumberDictionary.prototype.clear = function () { + this._store.clear(); + }; return NumberDictionary; -}()); -var ContentManager = (function() { - function ContentManager() { this.loadedAssets = new Map(); } - ContentManager.prototype.loadRes = function(name, local) { +})(); +var ContentManager = (function () { + function ContentManager() { + this.loadedAssets = new Map(); + } + ContentManager.prototype.loadRes = function (name, local) { var _this = this; if (local === void 0) { local = true; } - return new Promise(function(resolve, reject) { + return new Promise(function (resolve, reject) { var res = _this.loadedAssets.get(name); if (res) { resolve(res); @@ -4794,69 +5382,73 @@ var ContentManager = (function() { } if (local) { RES.getResAsync(name) - .then(function(data) { - _this.loadedAssets.set(name, data); - resolve(data); - }) - .catch(function(err) { - console.error("资源加载错误:", name, err); - reject(err); - }); + .then(function (data) { + _this.loadedAssets.set(name, data); + resolve(data); + }) + .catch(function (err) { + console.error("资源加载错误:", name, err); + reject(err); + }); } else { RES.getResByUrl(name) - .then(function(data) { - _this.loadedAssets.set(name, data); - resolve(data); - }) - .catch(function(err) { - console.error("资源加载错误:", name, err); - reject(err); - }); + .then(function (data) { + _this.loadedAssets.set(name, data); + resolve(data); + }) + .catch(function (err) { + console.error("资源加载错误:", name, err); + reject(err); + }); } }); }; - ContentManager.prototype.dispose = function() { - this.loadedAssets.forEach(function(value) { + ContentManager.prototype.dispose = function () { + this.loadedAssets.forEach(function (value) { var assetsToRemove = value; assetsToRemove.dispose(); }); this.loadedAssets.clear(); }; return ContentManager; -}()); -var Emitter = (function() { - function Emitter() { this._messageTable = new Map(); } - Emitter.prototype.addObserver = function(eventType, handler) { +})(); +var Emitter = (function () { + function Emitter() { + this._messageTable = new Map(); + } + Emitter.prototype.addObserver = function (eventType, handler) { var list = this._messageTable.get(eventType); if (!list) { list = []; this._messageTable.set(eventType, list); } - if (list.contains(handler)) - console.warn("您试图添加相同的观察者两次"); + if (list.contains(handler)) console.warn("您试图添加相同的观察者两次"); list.push(handler); }; - Emitter.prototype.removeObserver = function( - eventType, - handler) { this._messageTable.get(eventType).remove(handler); }; - Emitter.prototype.emit = function(eventType, data) { + Emitter.prototype.removeObserver = function (eventType, handler) { + this._messageTable.get(eventType).remove(handler); + }; + Emitter.prototype.emit = function (eventType, data) { var list = this._messageTable.get(eventType); if (list) { - for (var i = list.length - 1; i >= 0; i--) - list[i](data); + for (var i = list.length - 1; i >= 0; i--) list[i](data); } }; return Emitter; -}()); -var GlobalManager = (function() { +})(); +var GlobalManager = (function () { function GlobalManager() {} Object.defineProperty(GlobalManager.prototype, "enabled", { - get : function() { return this._enabled; }, - set : function(value) { this.setEnabled(value); }, - enumerable : true, - configurable : true + get: function () { + return this._enabled; + }, + set: function (value) { + this.setEnabled(value); + }, + enumerable: true, + configurable: true, }); - GlobalManager.prototype.setEnabled = function(isEnabled) { + GlobalManager.prototype.setEnabled = function (isEnabled) { if (this._enabled != isEnabled) { this._enabled = isEnabled; if (this._enabled) { @@ -4866,28 +5458,27 @@ var GlobalManager = (function() { } } }; - GlobalManager.prototype.onEnabled = function() {}; - GlobalManager.prototype.onDisabled = function() {}; - GlobalManager.prototype.update = function() {}; - GlobalManager.registerGlobalManager = function(manager) { + GlobalManager.prototype.onEnabled = function () {}; + GlobalManager.prototype.onDisabled = function () {}; + GlobalManager.prototype.update = function () {}; + GlobalManager.registerGlobalManager = function (manager) { this.globalManagers.push(manager); manager.enabled = true; }; - GlobalManager.unregisterGlobalManager = function(manager) { + GlobalManager.unregisterGlobalManager = function (manager) { this.globalManagers.remove(manager); manager.enabled = false; }; - GlobalManager.getGlobalManager = function(type) { + GlobalManager.getGlobalManager = function (type) { for (var i = 0; i < this.globalManagers.length; i++) { - if (this.globalManagers[i] instanceof type) - return this.globalManagers[i]; + if (this.globalManagers[i] instanceof type) return this.globalManagers[i]; } return null; }; GlobalManager.globalManagers = []; return GlobalManager; -}()); -var TouchState = (function() { +})(); +var TouchState = (function () { function TouchState() { this.x = 0; this.y = 0; @@ -4895,83 +5486,108 @@ var TouchState = (function() { this.touchDown = false; } Object.defineProperty(TouchState.prototype, "position", { - get : function() { return new Vector2(this.x, this.y); }, - enumerable : true, - configurable : true + get: function () { + return new Vector2(this.x, this.y); + }, + enumerable: true, + configurable: true, }); - TouchState.prototype.reset = function() { + TouchState.prototype.reset = function () { this.x = 0; this.y = 0; this.touchDown = false; this.touchPoint = -1; }; return TouchState; -}()); -var Input = (function() { +})(); +var Input = (function () { function Input() {} Object.defineProperty(Input, "touchPosition", { - get : function() { - if (!this._gameTouchs[0]) - return Vector2.zero; + get: function () { + if (!this._gameTouchs[0]) return Vector2.zero; return this._gameTouchs[0].position; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Input, "maxSupportedTouch", { - get : function() { return this._stage.maxTouches; }, - set : function(value) { + get: function () { + return this._stage.maxTouches; + }, + set: function (value) { this._stage.maxTouches = value; this.initTouchCache(); }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); Object.defineProperty(Input, "resolutionScale", { - get : function() { return this._resolutionScale; }, - enumerable : true, - configurable : true + get: function () { + return this._resolutionScale; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Input, "totalTouchCount", { - get : function() { return this._totalTouchCount; }, - enumerable : true, - configurable : true + get: function () { + return this._totalTouchCount; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Input, "gameTouchs", { - get : function() { return this._gameTouchs; }, - enumerable : true, - configurable : true + get: function () { + return this._gameTouchs; + }, + enumerable: true, + configurable: true, }); Object.defineProperty(Input, "touchPositionDelta", { - get : function() { - var delta = Vector2.subtract(this.touchPosition, - this._previousTouchState.position); + get: function () { + var delta = Vector2.subtract( + this.touchPosition, + this._previousTouchState.position + ); if (delta.length() > 0) { this.setpreviousTouchState(this._gameTouchs[0]); } return delta; }, - enumerable : true, - configurable : true + enumerable: true, + configurable: true, }); - Input.initialize = function(stage) { - if (this._init) - return; + Input.initialize = function (stage) { + if (this._init) return; this._init = true; this._stage = stage; - 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._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(); }; - Input.initTouchCache = function() { + Input.initTouchCache = function () { this._totalTouchCount = 0; this._touchIndex = 0; this._gameTouchs.length = 0; @@ -4979,7 +5595,7 @@ var Input = (function() { this._gameTouchs.push(new TouchState()); } }; - Input.touchBegin = function(evt) { + Input.touchBegin = function (evt) { if (this._touchIndex < this.maxSupportedTouch) { this._gameTouchs[this._touchIndex].touchPoint = evt.touchPointID; this._gameTouchs[this._touchIndex].touchDown = evt.touchDown; @@ -4992,42 +5608,45 @@ var Input = (function() { this._totalTouchCount++; } }; - Input.touchMove = function(evt) { + Input.touchMove = function (evt) { if (evt.touchPointID == this._gameTouchs[0].touchPoint) { this.setpreviousTouchState(this._gameTouchs[0]); } - var touchIndex = this._gameTouchs.findIndex(function( - touch) { return touch.touchPoint == evt.touchPointID; }); + var touchIndex = this._gameTouchs.findIndex(function (touch) { + return touch.touchPoint == evt.touchPointID; + }); if (touchIndex != -1) { var touchData = this._gameTouchs[touchIndex]; touchData.x = evt.stageX; touchData.y = evt.stageY; } }; - Input.touchEnd = function(evt) { - var touchIndex = this._gameTouchs.findIndex(function( - touch) { return touch.touchPoint == evt.touchPointID; }); + Input.touchEnd = function (evt) { + var touchIndex = this._gameTouchs.findIndex(function (touch) { + return touch.touchPoint == evt.touchPointID; + }); if (touchIndex != -1) { var touchData = this._gameTouchs[touchIndex]; touchData.reset(); - if (touchIndex == 0) - this._previousTouchState.reset(); + if (touchIndex == 0) this._previousTouchState.reset(); this._totalTouchCount--; if (this.totalTouchCount == 0) { this._touchIndex = 0; } } }; - Input.setpreviousTouchState = function(touchState) { + Input.setpreviousTouchState = function (touchState) { this._previousTouchState = new TouchState(); this._previousTouchState.x = touchState.position.x; this._previousTouchState.y = touchState.position.y; this._previousTouchState.touchPoint = touchState.touchPoint; this._previousTouchState.touchDown = touchState.touchDown; }; - Input.scaledPosition = function(position) { - var scaledPos = new Vector2(position.x - this._resolutionOffset.x, - position.y - this._resolutionOffset.y); + Input.scaledPosition = function (position) { + var scaledPos = new Vector2( + position.x - this._resolutionOffset.x, + position.y - this._resolutionOffset.y + ); return Vector2.multiply(scaledPos, this.resolutionScale); }; Input._init = false; @@ -5038,10 +5657,10 @@ var Input = (function() { Input._touchIndex = 0; Input._totalTouchCount = 0; return Input; -}()); -var ListPool = (function() { +})(); +var ListPool = (function () { function ListPool() {} - ListPool.warmCache = function(cacheCount) { + ListPool.warmCache = function (cacheCount) { cacheCount -= this._objectQueue.length; if (cacheCount > 0) { for (var i = 0; i < cacheCount; i++) { @@ -5049,41 +5668,43 @@ var ListPool = (function() { } } }; - ListPool.trimCache = function(cacheCount) { - while (cacheCount > this._objectQueue.length) - this._objectQueue.shift(); + ListPool.trimCache = function (cacheCount) { + while (cacheCount > this._objectQueue.length) this._objectQueue.shift(); }; - ListPool.clearCache = function() { this._objectQueue.length = 0; }; - ListPool.obtain = function() { - if (this._objectQueue.length > 0) - return this._objectQueue.shift(); + ListPool.clearCache = function () { + this._objectQueue.length = 0; + }; + ListPool.obtain = function () { + if (this._objectQueue.length > 0) return this._objectQueue.shift(); return []; }; - ListPool.free = function(obj) { + ListPool.free = function (obj) { this._objectQueue.unshift(obj); obj.length = 0; }; ListPool._objectQueue = []; return ListPool; -}()); -var Pair = (function() { +})(); +var Pair = (function () { function Pair(first, second) { this.first = first; this.second = second; } - Pair.prototype.clear = function() { this.first = this.second = null; }; - Pair.prototype.equals = function(other) { + Pair.prototype.clear = function () { + this.first = this.second = null; + }; + Pair.prototype.equals = function (other) { return this.first == other.first && this.second == other.second; }; return Pair; -}()); -var RectangleExt = (function() { +})(); +var RectangleExt = (function () { function RectangleExt() {} - RectangleExt.union = function(first, point) { + RectangleExt.union = function (first, point) { var rect = new Rectangle(point.x, point.y, 0, 0); return this.unionR(first, rect); }; - RectangleExt.unionR = function(value1, value2) { + RectangleExt.unionR = function (value1, value2) { var result = new Rectangle(); result.x = Math.min(value1.x, value2.x); result.y = Math.min(value1.y, value2.y); @@ -5092,14 +5713,14 @@ var RectangleExt = (function() { return result; }; return RectangleExt; -}()); -var Triangulator = (function() { +})(); +var Triangulator = (function () { function Triangulator() { this.triangleIndices = []; this._triPrev = new Array(12); this._triNext = new Array(12); } - Triangulator.prototype.triangulate = function(points, arePointsCCW) { + Triangulator.prototype.triangulate = function (points, arePointsCCW) { if (arePointsCCW === void 0) { arePointsCCW = true; } @@ -5140,10 +5761,9 @@ var Triangulator = (function() { this.triangleIndices.push(this._triPrev[index]); this.triangleIndices.push(index); this.triangleIndices.push(this._triNext[index]); - if (!arePointsCCW) - this.triangleIndices.reverse(); + if (!arePointsCCW) this.triangleIndices.reverse(); }; - Triangulator.prototype.initialize = function(count) { + Triangulator.prototype.initialize = function (count) { this.triangleIndices.length = 0; if (this._triNext.length < count) { this._triNext.reverse(); @@ -5160,32 +5780,38 @@ var Triangulator = (function() { this._triPrev[0] = count - 1; this._triNext[count - 1] = 0; }; - Triangulator.testPointTriangle = function(point, a, b, c) { - if (Vector2Ext.cross(Vector2.subtract(point, a), Vector2.subtract(b, a)) < - 0) + Triangulator.testPointTriangle = function (point, a, b, c) { + if ( + Vector2Ext.cross(Vector2.subtract(point, a), Vector2.subtract(b, a)) < 0 + ) return false; - if (Vector2Ext.cross(Vector2.subtract(point, b), Vector2.subtract(c, b)) < - 0) + if ( + Vector2Ext.cross(Vector2.subtract(point, b), Vector2.subtract(c, b)) < 0 + ) return false; - if (Vector2Ext.cross(Vector2.subtract(point, c), Vector2.subtract(a, c)) < - 0) + if ( + Vector2Ext.cross(Vector2.subtract(point, c), Vector2.subtract(a, c)) < 0 + ) return false; return true; }; return Triangulator; -}()); -var Vector2Ext = (function() { +})(); +var Vector2Ext = (function () { function Vector2Ext() {} - Vector2Ext.isTriangleCCW = function(a, center, c) { - return this.cross(Vector2.subtract(center, a), - Vector2.subtract(c, center)) < 0; + Vector2Ext.isTriangleCCW = function (a, center, c) { + return ( + this.cross(Vector2.subtract(center, a), Vector2.subtract(c, center)) < 0 + ); }; - Vector2Ext.cross = function(u, v) { return u.y * v.x - u.x * v.y; }; - Vector2Ext.perpendicular = function(first, second) { + Vector2Ext.cross = function (u, v) { + return u.y * v.x - u.x * v.y; + }; + Vector2Ext.perpendicular = function (first, second) { return new Vector2(-1 * (second.y - first.y), second.x - first.x); }; - Vector2Ext.normalize = function(vec) { - var magnitude = Math.sqrt((vec.x * vec.x) + (vec.y * vec.y)); + Vector2Ext.normalize = function (vec) { + var magnitude = Math.sqrt(vec.x * vec.x + vec.y * vec.y); if (magnitude > MathHelper.Epsilon) { vec = Vector2.divide(vec, new Vector2(magnitude)); } else { @@ -5193,28 +5819,41 @@ var Vector2Ext = (function() { } return vec; }; - Vector2Ext.transformA = function(sourceArray, sourceIndex, matrix, - destinationArray, destinationIndex, length) { + Vector2Ext.transformA = function ( + sourceArray, + sourceIndex, + matrix, + destinationArray, + destinationIndex, + length + ) { for (var i = 0; i < length; i++) { var position = sourceArray[sourceIndex + i]; var destination = destinationArray[destinationIndex + i]; destination.x = - (position.x * matrix.m11) + (position.y * matrix.m21) + matrix.m31; + position.x * matrix.m11 + position.y * matrix.m21 + matrix.m31; destination.y = - (position.x * matrix.m12) + (position.y * matrix.m22) + matrix.m32; + position.x * matrix.m12 + position.y * matrix.m22 + matrix.m32; destinationArray[destinationIndex + i] = destination; } }; - Vector2Ext.transformR = function(position, matrix) { - var x = (position.x * matrix.m11) + (position.y * matrix.m21) + matrix.m31; - var y = (position.x * matrix.m12) + (position.y * matrix.m22) + matrix.m32; + Vector2Ext.transformR = function (position, matrix) { + var x = position.x * matrix.m11 + position.y * matrix.m21 + matrix.m31; + var y = position.x * matrix.m12 + position.y * matrix.m22 + matrix.m32; return new Vector2(x, y); }; - Vector2Ext.transform = function(sourceArray, matrix, destinationArray) { - this.transformA(sourceArray, 0, matrix, destinationArray, 0, - sourceArray.length); + Vector2Ext.transform = function (sourceArray, matrix, destinationArray) { + this.transformA( + sourceArray, + 0, + matrix, + destinationArray, + 0, + sourceArray.length + ); + }; + Vector2Ext.round = function (vec) { + return new Vector2(Math.round(vec.x), Math.round(vec.y)); }; - Vector2Ext.round = function( - vec) { return new Vector2(Math.round(vec.x), Math.round(vec.y)); }; return Vector2Ext; -}()); +})(); diff --git a/source/bin/framework.min.js b/source/bin/framework.min.js index d6233172..48790482 100644 --- a/source/bin/framework.min.js +++ b/source/bin/framework.min.js @@ -1,3477 +1,5250 @@ -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]) +(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())); }; - 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(o, r) { - function s(t) { - try { - h(i.next(t)) - } catch (t) { - r(t) - } - } - function a(t) { - try { - h(i.throw(t)) - } catch (t) { - r(t) - } - } - function h(t) { - t.done ? o(t.value) : new n(function(e) { e(t.value) }).then(s, a) - } - h((i = i.apply(t, e || [])).next()) - }) -}, __generator = this && this.__generator || function(t, e) { - var n, i, o, r, s = { - label : 0, - sent : function() { - if (1 & o[0]) - throw o[1]; - return o[1] - }, - trys : [], - ops : [] - }; - return r = {next : a(0), throw : a(1), return : a(2)}, - "function" == typeof Symbol && - (r[Symbol.iterator] = function() { return this }), - r; - function a(r) { - return function(a) { - return function(r) { - if (n) - throw new TypeError("Generator is already executing."); - for (; s;) + })()); +var __awaiter = + (this && this.__awaiter) || + function (t, e, n, i) { + return new (n || (n = Promise))(function (o, r) { + function s(t) { try { - if (n = 1, - i && - (o = 2 & r[0] ? i.return : r[0] ? i.throw || ((o = i.return ) && o.call(i), 0) : i.next) && - !(o = o.call(i, r[1])).done) - return o; - switch (i = 0, o && (r = [ 2 & r[0], o.value ]), r[0]) { - case 0: - case 1: - o = r; - break; - case 4: - return s.label++, {value : r[1], done : !1}; - case 5: - s.label++, i = r[1], r = [ 0 ]; - continue; - case 7: - r = s.ops.pop(), s.trys.pop(); - continue; - default: - if (!(o = (o = s.trys).length > 0 && o[o.length - 1]) && - (6 === r[0] || 2 === r[0])) { - s = 0; - continue - } - if (3 === r[0] && (!o || r[1] > o[0] && r[1] < o[3])) { - s.label = r[1]; - break - } - if (6 === r[0] && s.label < o[1]) { - s.label = o[1], o = r; - break - } - if (o && s.label < o[2]) { - s.label = o[2], s.ops.push(r); - break - } - o[2] && s.ops.pop(), s.trys.pop(); - continue - } - r = e.call(t, s) + h(i.next(t)); } catch (t) { - r = [ 6, t ], i = 0 - } finally { - n = o = 0 + r(t); } - if (5 & r[0]) - throw r[1]; - return { value: r[0] ? r[1] : void 0, done: !0 } - }([ r, 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, o) { - return e.call(arguments[2], i, o, t) && n.push(i), n - }, []); - for (var n = [], i = 0, o = t.length; i < o; i++) { - var r = t[i]; - e.call(arguments[2], r, i, t) && n.push(r) } - 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, o) { - return n.push(e.call(arguments[2], i, o, t)), n - }, []); - for (var n = [], i = 0, o = t.length; i < o; 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 o = e(t), r = e(i); - return n ? n(o, r) : o > r ? 1 : -1 - }), - t - }(this, t, e) - }, Array.prototype.orderByDescending = function(t, e) { - return function(t, e, n) { - return t.sort(function(t, i) { - var o = e(t), r = e(i); - return n ? -n(o, r) : o < r ? 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, o, r) { - var s = JSON.stringify(e.call(arguments[1], o, r, t)), - a = n.findIndex(function(t) { return t === s }); - return a < 0 && (a = n.push(s) - 1), i[a] || (i[a] = []), - i[a].push(o), i - }, []) + function a(t) { + try { + h(i.throw(t)); + } catch (t) { + r(t); + } } - for (var i = [], o = [], r = function(n, r) { - var a = JSON.stringify(e.call(s[1], t[n], n, t)), - h = o.findIndex(function(t) { return t === a }); - h < 0 && (h = o.push(a) - 1), i[h] || (i[h] = []), - i[h].push(t[n]) - }, s = arguments, a = 0, h = t.length; a < h; a++) - r(a); - return i - }(this, t) - }, Array.prototype.sum = function(t) { - return function(t, e) { - for (var n, i = 0, o = t.length; i < o; 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) + function h(t) { + t.done + ? o(t.value) + : new n(function (e) { + e(t.value); + }).then(s, a); + } + h((i = i.apply(t, e || [])).next()); + }); + }, + __generator = + (this && this.__generator) || + function (t, e) { + var n, + i, + o, + r, + s = { + label: 0, + sent: function () { + if (1 & o[0]) throw o[1]; + return o[1]; + }, + trys: [], + ops: [], + }; + return ( + (r = { next: a(0), throw: a(1), return: a(2) }), + "function" == typeof Symbol && + (r[Symbol.iterator] = function () { + return this; + }), + r + ); + function a(r) { + return function (a) { + return (function (r) { + if (n) throw new TypeError("Generator is already executing."); + for (; s; ) + try { + if ( + ((n = 1), + i && + (o = + 2 & r[0] + ? i.return + : r[0] + ? i.throw || ((o = i.return) && o.call(i), 0) + : i.next) && + !(o = o.call(i, r[1])).done) + ) + return o; + switch (((i = 0), o && (r = [2 & r[0], o.value]), r[0])) { + case 0: + case 1: + o = r; + break; + case 4: + return s.label++, { value: r[1], done: !1 }; + case 5: + s.label++, (i = r[1]), (r = [0]); + continue; + case 7: + (r = s.ops.pop()), s.trys.pop(); + continue; + default: + if ( + !(o = (o = s.trys).length > 0 && o[o.length - 1]) && + (6 === r[0] || 2 === r[0]) + ) { + s = 0; + continue; + } + if (3 === r[0] && (!o || (r[1] > o[0] && r[1] < o[3]))) { + s.label = r[1]; + break; + } + if (6 === r[0] && s.label < o[1]) { + (s.label = o[1]), (o = r); + break; + } + if (o && s.label < o[2]) { + (s.label = o[2]), s.ops.push(r); + break; + } + o[2] && s.ops.pop(), s.trys.pop(); + continue; + } + r = e.call(t, s); + } catch (t) { + (r = [6, t]), (i = 0); + } finally { + n = o = 0; + } + if (5 & r[0]) throw r[1]; + return { value: r[0] ? r[1] : void 0, done: !0 }; + })([r, a]); + }; + } }; -var DirtyType, ComponentTransform, 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, o = !1, r = new Map; - r.set(e, e); - var s = new Map, a = new PriorityQueue(1e3); - a.enqueue(new AStarNode(e), 0), s.set(e, 0); - for (var h = function() { - var e = a.dequeue(); - if (JSON.stringify(e.data) == JSON.stringify(n)) - return o = !0, "break"; - t.getNeighbors(e.data).forEach(function(o) { - var h = s.get(e.data) + t.cost(e.data, o); - if (!i.hasKey(s, o) || h < s.get(o)) { - s.set(o, h); - var c = h + t.heuristic(o, n); - a.enqueue(new AStarNode(o), c), r.set(o, e.data) - } - }) - }; a.count > 0;) { - if ("break" === h()) - break - } - return o ? this.recontructPath(r, 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, o = t.keys(), r = t.values(); - n = o.next(), i = r.next(), !n.done;) - if (JSON.stringify(n.value) == JSON.stringify(e)) - return i.value; - return null - }, t.recontructPath = function(t, e, n) { - var i = [], o = n; - for (i.push(n); o != e;) - o = this.getKey(t, o), i.push(o); - 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 Point(1, 0), new Point(0, -1), new Point(-1, 0), new Point(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 Point(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 - }), - t.prototype.contains = function( - t) { return this._nodes[t.queueIndex] == t }, - 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 o = this._nodes[i]; - this.hasHigherPriority(o, e) && (e = o); - var r = i + 1; - if (r <= this._numNodes) { - var s = this._nodes[r]; - 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, o = !1, r = []; - r.unshift(e); - var s = new Map; - s.set(e, e); - for (var a = function() { - var e = r.shift(); - if (JSON.stringify(e) == JSON.stringify(n)) - return o = !0, "break"; - t.getNeighbors(e).forEach(function( - t) { i.hasKey(s, t) || (r.unshift(t), s.set(t, e)) }) - }; r.length > 0;) { - if ("break" === a()) - break - } - return o ? 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 -}(), Point = function() { - return function(t, e) { this.x = t || 0, this.y = e || this.x } -}(), 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 Point(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 Point(1, 0), new Point(0, -1), new Point(-1, 0), - new Point(0, -1) - ], - t.COMPASS_DIRS = - [ - new Point(1, 0), new Point(1, -1), new Point(0, -1), - new Point(-1, -1), new Point(-1, 0), new Point(-1, 1), - new Point(0, 1), new Point(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 Point(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 Point(1, 0), new Point(0, -1), new Point(-1, 0), - new Point(0, 1) - ], - t.COMPASS_DIRS = - [ - new Point(1, 0), new Point(1, -1), new Point(0, -1), - new Point(-1, -1), new Point(-1, 0), new Point(-1, 1), - new Point(0, 1), new Point(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, o = !1, r = new Map; - r.set(e, e); - var s = new Map, a = new PriorityQueue(1e3); - a.enqueue(new WeightedNode(e), 0), s.set(e, 0); - for (var h = function() { - var e = a.dequeue(); - if (JSON.stringify(e.data) == JSON.stringify(n)) - return o = !0, "break"; - t.getNeighbors(e.data).forEach(function(n) { - var o = s.get(e.data) + t.cost(e.data, n); - if (!i.hasKey(s, n) || o < s.get(n)) { - s.set(n, o); - var h = o; - a.enqueue(new WeightedNode(n), h), r.set(n, e.data) - } - }) - }; a.count > 0;) { - if ("break" === h()) - break - } - return o ? this.recontructPath(r, 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, o = t.keys(), r = t.values(); - n = o.next(), i = r.next(), !n.done;) - if (JSON.stringify(n.value) == JSON.stringify(e)) - return i.value; - return null - }, t.recontructPath = function(t, e, n) { - var i = [], o = n; - for (i.push(n); o != e;) - o = this.getKey(t, o), i.push(o); - return i.reverse(), i - }, t -}(), DebugDefaults = function() { - function t() {} - return t.verletParticle = 14431326, t.verletConstraintEdge = 4406838, t -}(), Component = function(t) { - function e() { - var e = null !== t && t.apply(this, arguments) || this; - return e._enabled = !0, e.updateInterval = 1, 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 +(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); }), - e.prototype - .setEnabled = - function(t) { - return this._enabled != t && - (this._enabled = t, - this._enabled ? this.onEnabled() : this.onDisabled()), - this - }, - e.prototype.initialize = function() {}, - e.prototype.onAddedToEntity = function() {}, - e.prototype.onRemovedFromEntity = function() {}, - e.prototype.onEnabled = function() {}, e.prototype.onDisabled = function() {}, - e.prototype.onEntityTransformChanged = function(t) {}, - e.prototype.update = function() {}, e.prototype.debugRender = function() {}, - 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), Entity = function(t) { - function e(n) { - var i = t.call(this) || this; - return i._position = Vector2.zero, 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 - } - return __extends(e, t), Object.defineProperty(e.prototype, "isDestoryed", { - get : function() { return this._isDestoryed }, - enumerable : !0, - configurable : !0 + (Array.prototype.firstOrDefault = function (t) { + return (function (t, e) { + var n = t.findIndex(e); + return -1 == n ? null : t[n]; + })(this, t); }), - Object.defineProperty(e.prototype, "position", { - get : function() { return this._position }, - set : function(t) { this._position = t }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(e.prototype, "scale", { - get : function() { return new Vector2(this.scaleX, this.scaleY) }, - set : function(t) { this.scaleX = t.x, this.scaleY = t.y }, - 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 - }), - 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.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.onTransformChanged = function(t) { - this.components.onEntityTransformChanged(t) - }, e.prototype.destroy = function() { - this._isDestoryed = !0, this.scene.entities.remove(this), - this.removeChildren(); - for (var t = this.numChildren - 1; t >= 0; t--) { - this.getChildAt(t).entity.destroy() - } - }, e -}(egret.DisplayObjectContainer), 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() - }, 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.stage = e, - t.initialize(e) - } - return Object.defineProperty(t, "scene", { - get : function() { return this._scene }, - set : function(t) { - if (!t) - throw new Error("场景不能为空"); - null == this._scene ? (this._scene = t, this._scene.begin()) - : this._nextScene = t - }, - enumerable : !0, - configurable : !0 + (Array.prototype.find = function (t) { + return (function (t, e) { + return t.firstOrDefault(e); + })(this, t); }), - t.initialize = function(t) { Input.initialize(t) }, - t.update = function() { - if (Time.update(egret.getTimer()), t._scene) { - for (var e = GlobalManager.globalManagers.length - 1; e >= 0; e--) - GlobalManager.globalManagers[e].enabled && - GlobalManager.globalManagers[e].update(); - if (t.sceneTransition && - (!t.sceneTransition || - t.sceneTransition.loadsNewScene && - !t.sceneTransition.isNewSceneLoaded) || - t._scene.update(), - t._nextScene) { - t._scene.end(); - for (e = 0; e < t._scene.entities.buffer.length; e++) { - t._scene.entities.buffer[e].destroy() - } - t._scene = t._nextScene, t._nextScene = null, t._scene.begin() - } - } - 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(), this._scene.postRender()) - }, t.startSceneTransition = function(t) { - if (!this.sceneTransition) - return this.sceneTransition = t, t; - console.warn("在前一个场景完成之前,不能开始一个新的场景转换。") - }, t -}(); -!function(t) { - t[t.clean = 0] = "clean", t[t.positionDirty = 1] = "positionDirty", - t[t.scaleDirty = 2] = "scaleDirty", - t[t.rotationDirty = 3] = "rotationDirty" -}(DirtyType || (DirtyType = {})), - function(t) { - t[t.position = 0] = "position", t[t.scale = 1] = "scale", - t[t.rotation = 2] = "rotation" - }(ComponentTransform || (ComponentTransform = {})); -var CameraStyle, Transform = function() { - function t(t) { - this._localRotation = 0, this._worldTransform = Matrix2D.identity, - this._worldToLocalTransform = Matrix2D.identity, - this._worldInverseTransform = Matrix2D.identity, this._rotation = 0, - this.entity = t, this._scale = this._localScale = Vector2.one, - this._children = [] - } - return Object.defineProperty(t.prototype, "childCount", { - get : function() { return this._children.length }, - enumerable : !0, - configurable : !0 - }), - t.prototype - .getChild = function(t) { return this._children[t] }, - Object.defineProperty(t.prototype, "worldInverseTransform", { - get : function() { - return this.updateTransform(), - this._worldInverseDirty && - (this._worldInverseTransform = Matrix2D.invert( - this._worldTransform, this._worldInverseTransform), - this._worldInverseDirty = !1), - this._worldInverseTransform - }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "localToWorldTransform", { - get : function() { return this.updateTransform(), this._worldTransform }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "worldToLocalTransform", { - get : function() { - return this._worldToLocalDirty && - (this.parent ? (this.parent.updateTransform(), - this._worldToLocalTransform = Matrix2D.invert( - this.parent._worldTransform, - this._worldToLocalTransform)) - : this._worldInverseTransform = new Matrix2D, - this._worldToLocalDirty = !1), - this._worldToLocalTransform - }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "parent", { - get : function() { return this._parent }, - set : function(t) { this.setParent(t) }, - enumerable : !0, - configurable : !0 - }), - t.prototype.setParent = - function(t) { - return this._parent == t - ? this - : (this._parent && this._parent._children.remove(this), - t && t._children.push(this), this._parent = t, this) - }, - Object.defineProperty(t.prototype, "rotation", { - get : function() { return this.updateTransform(), this._rotation }, - set : function(t) { this.setRotation(t) }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "localRotation", { - get : function() { return this.updateTransform(), this._localRotation }, - set : function(t) { this.setLocalRotation(t) }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "position", { - get : function() { - return this.updateTransform(), - this._positionDirty && - (this.parent - ? (this.parent.updateTransform(), - this._position = Vector2Ext.transformR( - this._localPosition, this.parent._worldTransform)) - : this._position = this._localPosition, - this._positionDirty = !1), - this._position - }, - set : function(t) { this.setPosition(t) }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "localPosition", { - get : function() { return this.updateTransform(), this._localPosition }, - set : function(t) { this.setLocalPosition(t) }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "scale", { - get : function() { return this.updateTransform(), this._scale }, - set : function(t) { this.setScale(t) }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "localScale", { - get : function() { return this.updateTransform(), this._localScale }, - set : function(t) { this.setLocalScale(t) }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "rotationDegrees", { - get : function() { return MathHelper.toDegrees(this._rotation) }, - set : function(t) { this.setRotation(MathHelper.toRadians(t)) }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "localRotationDegrees", { - get : function() { return MathHelper.toDegrees(this._localRotation) }, - set : function(t) { this.localRotation = MathHelper.toRadians(t) }, - enumerable : !0, - configurable : !0 - }), - t.prototype.setLocalScale = function(t) { - return this._localScale = t, - this._localDirty = this._positionDirty = this._localScaleDirty = !0, - this.setDirty(DirtyType.scaleDirty), this - }, t.prototype.setScale = function(t) { - return this._scale = t, - this.parent ? this.localScale = Vector2.divide(t, this.parent._scale) - : this.localScale = t, - this - }, t.prototype.setLocalRotationDegrees = function(t) { - return this.setLocalRotation(MathHelper.toRadians(t)) - }, t.prototype.setLocalRotation = function(t) { - return this._localRotation = t, - this._localDirty = this._positionDirty = this._localPositionDirty = - this._localRotationDirty = this._localScaleDirty = !0, - this.setDirty(DirtyType.rotationDirty), this - }, t.prototype.setRotation = function(t) { - return this._rotation = t, - this.parent ? this.localRotation = this.parent.rotation + t - : this.localRotation = t, - this - }, t.prototype.setRotationDegrees = function(t) { - return this.setRotation(MathHelper.toRadians(t)) - }, t.prototype.setLocalPosition = function(t) { - return t == this._localPosition - ? this - : (this._localPosition = t, - this._localDirty = this._positionDirty = - this._localPositionDirty = this._localRotationDirty = - this._localScaleDirty = !0, - this.setDirty(DirtyType.positionDirty), this) - }, t.prototype.setPosition = function(t) { - return t == this._position - ? this - : (this._position = t, - this.parent ? this.localPosition = Vector2.transform( - this._position, this._worldToLocalTransform) - : this.localPosition = t, - this._positionDirty = !1, this) - }, t.prototype.setDirty = function(t) { - if (0 == (this._hierachyDirty & t)) { - switch (this._hierachyDirty |= t, t) { - case DirtyType.positionDirty: - this.entity.onTransformChanged(ComponentTransform.position); - break; - case DirtyType.rotationDirty: - this.entity.onTransformChanged(ComponentTransform.rotation); - break; - case DirtyType.scaleDirty: - this.entity.onTransformChanged(ComponentTransform.scale) + (Array.prototype.where = function (t) { + return (function (t, e) { + if ("function" == typeof t.reduce) + return t.reduce(function (n, i, o) { + return e.call(arguments[2], i, o, t) && n.push(i), n; + }, []); + for (var n = [], i = 0, o = t.length; i < o; i++) { + var r = t[i]; + e.call(arguments[2], r, i, t) && n.push(r); } - null == this._children && (this._children = []); - for (var e = 0; e < this._children.length; e++) - this._children[e].setDirty(t) - } - }, t.prototype.roundPosition = function() { - this.position = this._position.round() - }, t.prototype.updateTransform = function() { - this._hierachyDirty != DirtyType.clean && - (this.parent && this.parent.updateTransform(), - this._localDirty && - (this._localPositionDirty && - (this._translationMatrix = Matrix2D.createTranslation( - this._localPosition.x, this._localPosition.y), - this._localPositionDirty = !1), - this._localRotationDirty && - (this._rotationMatrix = - Matrix2D.createRotation(this._localRotation), - this._localRotationDirty = !1), - this._localScaleDirty && - (this._scaleMatrix = Matrix2D.createScale(this._localScale.x, - this._localScale.y), - this._localScaleDirty = !1), - this._localTransform = - Matrix2D.multiply(this._scaleMatrix, this._rotationMatrix), - this._localTransform = Matrix2D.multiply(this._localTransform, - this._translationMatrix), - this.parent || (this._worldTransform = this._localTransform, - this._rotation = this._localRotation, - this._scale = this._localScale, - this._worldInverseDirty = !0), - this._localDirty = !1), - this.parent && - (this._worldTransform = Matrix2D.multiply( - this._localTransform, this.parent._worldTransform), - this._rotation = this._localRotation + this.parent._rotation, - this._scale = - Vector2.multiply(this.parent._scale, this._localScale), - this._worldInverseDirty = !0), - this._worldToLocalDirty = !0, this._positionDirty = !0, - this._hierachyDirty = DirtyType.clean) - }, t -}(), Camera = function(t) { - function e() { - var e = t.call(this) || this; - return e._origin = Vector2.zero, e._minimumZoom = .3, e._maximumZoom = 3, - 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 + return n; + })(this, t); }), - 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.entity.position }, - set : function(t) { this.entity.position = 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, o = n.height / 3; - this.deadzone = - new Rectangle((n.width - i) / 2, (n.height - o) / 2, i, o); - 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 + this.deadzone.x + this.focusOffset.x, - this._worldSpaceDeadZone.y = - this.position.y - e.y + 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 PointSectors, 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 -}(), Mesh = function(t) { - function e() { return null !== t && t.apply(this, arguments) || this } - return __extends(e, t), - e.prototype.initialize = function() {}, - e.prototype.setVertPosition = function(t) { - (!this._verts || this._verts.length != t.length) && - (this._verts = new Array(t.length)); - for (var e = 0; e < this._verts.length; e++) - this._verts[e] = new VertexPosition(t[e]); - return this - }, e.prototype.setTriangles = function(t) { - return this._primitiveCount = t.length / 3, this._triangles = t, this - }, e.prototype.recalculateBounds = function() { - this._topLeftVertPosition = - new Vector2(Number.MAX_VALUE, Number.MAX_VALUE); - for (var t = new Vector2(Number.MIN_VALUE, Number.MIN_VALUE), e = 0; - e < this._verts.length; e++) - this._topLeftVertPosition.x = Math.min(this._topLeftVertPosition.x, - this._verts[e].position.x), - this._topLeftVertPosition.y = Math.min(this._topLeftVertPosition.y, - this._verts[e].position.y), - t.x = Math.max(t.x, this._verts[e].position.x), - t.y = Math.max(t.y, this._verts[e].position.y); - return this._width = t.x - this._topLeftVertPosition.x, - this._height = t.y - this._topLeftVertPosition.y, this - }, e.prototype.render = function() {}, e -}(Component), VertexPosition = function() { - return function(t) { this.position = t } -}(), PolygonMesh = function(t) { - function e(e, n) { - void 0 === n && (n = !0); - var i = t.call(this) || this, o = new Triangulator; - return o.triangulate(e, n), i.setVertPosition(e), - i.setTriangles(o.triangleIndices), i.recalculateBounds(), i - } - return __extends(e, t), e -}(Mesh), 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 + (Array.prototype.count = function (t) { + return (function (t, e) { + return t.where(e).length; + })(this, t); }), - 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.prototype.onEntityTransformChanged = function( - t) { this._areBoundsDirty = !0 }, - e -}(PooledComponent), ScreenSpaceCamera = function(t) { - function e() { return null !== t && t.apply(this, arguments) || this } - return __extends(e, t), e.prototype.updateMatrixes = function() {}, e -}(Camera), 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, o = 1 / t.textureHeight; - this.uvs.x = e.x * i, this.uvs.y = e.y * o, this.uvs.width = e.width * i, - this.uvs.height = e.height * o - } -}(), SpriteRenderer = function(t) { - function e() { return null !== t && t.apply(this, arguments) || this } - return __extends(e, t), Object.defineProperty(e.prototype, "origin", { - get : function() { return this._origin }, - set : function(t) { this.setOrigin(t) }, - enumerable : !0, - configurable : !0 + (Array.prototype.findAll = function (t) { + return (function (t, e) { + return t.where(e); + })(this, t); }), - e.prototype.setOrigin = function( - t) { return this._origin != t && (this._origin = t), this }, - e.prototype.setSprite = function(t) { - return this.removeChildren(), - this._sprite = t, - this._sprite && (this._origin = this._sprite.origin), - 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 = this.entity.position.x - this.origin.x - t.position.x + - t.origin.x, - this.y = this.entity.position.y - this.origin.y - t.position.y + - t.origin.y - }, e.prototype.onRemovedFromEntity = function() { - this.parent && this.parent.removeChild(this) - }, e.prototype.reset = function() {}, e -}(RenderableComponent), 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 o = n[i]; - if (!o.isTrigger) { - var r = o.bounds; - r.x += t.x, r.y += t.y; - for (var s = Physics.boxcastBroadphaseExcludingSelf( - o, r, o.collidesWithLayers), - a = 0; - a < s.length; a++) { - var h = s[a]; - if (!h.isTrigger) { - var c = o.collidesWith(h, t); - c && (t = Vector2.subtract(t, c.minimumTranslationVector), - c.collider && (e = c)) - } - } - } - } - return ListPool.free(n), e - }, 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); - return this.applyMovement(t), e - }, e -}(Component), Collider = function(t) { - function e() { - var e = null !== t && t.apply(this, arguments) || this; - return e.physicsLayer = 1, - e.shouldColliderScaleAndRotationWithTransform = !0, - e.collidesWithLayers = Physics.allLayers, e._isPositionDirty = !0, - e._isRotationDirty = !0, e._localOffset = new Vector2(0, 0), e - } - return __extends(e, t), Object.defineProperty(e.prototype, "bounds", { - get : function() { - return (this._isPositionDirty || this._isRotationDirty) && - (this.shape.recalculateBounds(this), - this._isPositionDirty = this._isRotationDirty = !1), - this.shape.bounds - }, - enumerable : !0, - configurable : !0 + (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); }), - Object.defineProperty(e.prototype, "localOffset", { - get : function() { return this._localOffset }, - set : function(t) { this.setLocalOffset(t) }, - enumerable : !0, - configurable : !0 - }), - e.prototype - .setLocalOffset = - function(t) { - this._localOffset != t && - (this.unregisterColliderWithPhysicsSystem(), - this._localOffset = t, - this._localOffsetLength = this._localOffset.length(), - this._isPositionDirty = !0, - this.registerColliderWithPhysicsSystem()) - }, - 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.shape.position; - this.shape.position = Vector2.add(this.shape.position, e); - var i = this.shape.collidesWithShape(t.shape); - return i && (i.collider = t), this.shape.position = n, i - }, e.prototype.onAddedToEntity = function() { - if (this._colliderRequiresAutoSizing) { - this instanceof BoxCollider || - 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 BoxCollider) { - this.width = n, this.height = i, - this.localOffset = Vector2.subtract(e.center, this.entity.position) - } - } - } - this._isParentEntityAddedToScene = !0, - this.registerColliderWithPhysicsSystem() - }, e.prototype.onRemovedFromEntity = function() { - this.unregisterColliderWithPhysicsSystem(), - this._isParentEntityAddedToScene = !1 - }, e.prototype.onEntityTransformChanged = function(t) { - switch (t) { - case ComponentTransform.position: - case ComponentTransform.scale: - this._isPositionDirty = !0; - break; - case ComponentTransform.rotation: - this._isRotationDirty = !0 - } - this._isColliderRegistered && Physics.updateCollider(this) - }, e.prototype.onEnabled = function() { - this.registerColliderWithPhysicsSystem(), - this._isPositionDirty = this._isRotationDirty = !0 - }, e.prototype.onDisabled = function() { - this.unregisterColliderWithPhysicsSystem() - }, 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._isPositionDirty = !0, - 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._isPositionDirty = !0, - 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._isPositionDirty = !0, - this.entity && this._isParentEntityAddedToScene && - Physics.updateCollider(this)), - this - }, 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]; + (Array.prototype.removeAll = function (t) { + !(function (t, e) { + var n; 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 + (n = t.findIndex(e)) >= 0 && t.splice(n, 1); + } while (n >= 0); + })(this, t); }), - 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._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) + (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, o) { + return n.push(e.call(arguments[2], i, o, t)), n; + }, []); + for (var n = [], i = 0, o = t.length; i < o; 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 o = e(t), + r = e(i); + return n ? n(o, r) : o > r ? 1 : -1; + }), + t + ); + })(this, t, e); + }), + (Array.prototype.orderByDescending = function (t, e) { + return (function (t, e, n) { + return ( + t.sort(function (t, i) { + var o = e(t), + r = e(i); + return n ? -n(o, r) : o < r ? 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, o, r) { + var s = JSON.stringify(e.call(arguments[1], o, r, t)), + a = n.findIndex(function (t) { + return t === s; + }); + return ( + a < 0 && (a = n.push(s) - 1), i[a] || (i[a] = []), i[a].push(o), i + ); + }, []); } - 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.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]; - !e.enabled || - 1 != e.updateInterval && Time.frameCount % e.updateInterval != 0 || - e.update() - } - }, 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 -}(), 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 + for ( + var i = [], + o = [], + r = function (n, r) { + var a = JSON.stringify(e.call(s[1], t[n], n, t)), + h = o.findIndex(function (t) { + return t === a; + }); + h < 0 && (h = o.push(a) - 1), i[h] || (i[h] = []), i[h].push(t[n]); + }, + s = arguments, + a = 0, + h = t.length; + a < h; + a++ + ) + r(a); + return i; + })(this, t); }), - 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 -}(), 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 -}(), Time = function() { - function t() {} - return t.update = function(t) { - var e = (t - this._lastTime) / 1e3; - this.deltaTime = e * this.timeScale, this.unscaledDeltaTime = e, - this.frameCount++, this._lastTime = t - }, t.deltaTime = 0, t.timeScale = 1, t.frameCount = 0, t._lastTime = 0, t -}(), GraphicsCapabilities = function() { - function t() {} - return t.prototype.initialize = function(t) { this.platformInitialize(t) }, - t.prototype.platformInitialize = function(t) { - var e = (new egret.sys.RenderBuffer).context.getInstance(); - this.supportsNonPowerOfTwo = !1, - this.supportsTextureFilterAnisotropic = - null != e.getExtension("EXT_texture_filter_anisotropic"), - this.supportsDepth24 = !0, this.supportsPackedDepthStencil = !0, - this.supportsDepthNonLinear = !1, this.supportsTextureMaxLevel = !0, - this.supportsS3tc = - null != e.getExtension("WEBGL_compressed_texture_s3tc") || - null != e.getExtension("WEBGL_compressed_texture_s3tc_srgb"), - this.supportsDxt1 = this.supportsS3tc, this.supportsPvrtc = !1, - this.supportsAtitc = - null != e.getExtension("WEBGL_compressed_texture_astc"), - this.supportsFramebufferObjectARB = !1 - }, t -}(), 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 -}(), GraphicsResource = function() { - return function() {} -}(), 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.enable = !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 -}(), BloomSettings = function() { - function t(t, e, n, i, o, r) { - this.threshold = t, this.blurAmount = e, this.intensity = n, - this.baseIntensity = i, this.saturation = o, this.baseStaturation = r - } - return t.presetSettings = - [ - new t(.1, .6, 2, 1, 1, 0), new t(0, 3, 1, 1, 1, 1), - new t(.5, 8, 2, 1, 0, 1), new t(.25, 8, 1.3, 1, 1, 0), - new t(0, 2, 1, .1, 1, 1), new t(.5, 2, 1, 1, 1, 1) - ], - 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 o = t.call(this) || this; - return o._indices = [], o.radius = e, o.power = i, o.color = n, - o.computeTriangleIndices(), o - } - 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(o) { - var r = i ? 1 : 0, s = i ? 0 : 1; - egret.Tween.get(t.uniforms) - .set({_progress : r}) - .to({_progress : s}, 1e3 * e, n) - .call(function() { o() }) - }) - }, 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), BaseView = function(t) { - function e() { return null !== t && t.apply(this, arguments) || this } - return __extends(e, t), - e.prototype.init = function() {}, e.prototype.show = function(t) {}, - e.prototype.refreshData = function(t) { this._data = t }, - e.prototype.refreshView = function() {}, - e.prototype.close = function() {}, e.prototype.destroy = function() { - for (this.parent && this.parent.removeChild(this); - this.numChildren > 0;) - this.removeChildAt(0) - }, e -}(egret.DisplayObjectContainer), BaseFuiView = function(t) { - function e(e) { - var n = t.call(this) || this; - return n.name = e, n - } - return __extends(e, t), e -}(BaseView), BaseSingle = function() { - function t() {} - return t.getInstance = function() { - return null == this._instance && (this._instance = new this), this._instance - }, t.prototype.clearFuiObj = function(t) { - return !!t && (egret.Tween.removeTweens(t.displayObject), - t.displayObject && t.displayObject.parent && - t.displayObject.parent.removeChild(t.displayObject), - t.dispose(), t = null, !0) - }, t -}(), ViewManager = function(t) { - function e() { - var e = null !== t && t.apply(this, arguments) || this; - return e._openDic = [], e - } - return __extends(e, t), e.prototype.refreshView = function(t, e) { - var n = this.getView(t); - n && (n.refreshData(e), n.refreshView()) - }, e.prototype.openView = function(t, e, n) { - var i = this.getView(t); - if (i || (i = new t), this.existView(t)) - return i.refreshData(e), void i.refreshView(); - this._openDic.push(i) - }, e.prototype.getView = function(t) { - return this._openDic.firstOrDefault(function(e) { return e instanceof t }) - }, e.prototype.existView = function(t) { - return -1 != this._openDic.findIndex(function(e) { return e instanceof t }) - }, e -}(BaseSingle), 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, - o) { return i + (t - e) * (o - 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 o = t.toRadians(i); - return new Vector2(Math.cos(o) * o + e.x, Math.sin(o) * o + e.y) - }, - t.isEven = function(t) { return t % 2 == 0 }, t.Epsilon = 1e-5, - t.Rad2Deg = 57.29578, t.Deg2Rad = .0174532924, t -}(), Matrix2D = function() { - function t(t, e, n, i, o, r) { - 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 = o || 0, this.m32 = r || 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, o = e.m11 * n.m11 + e.m12 * n.m21, - r = 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, - h = e.m31 * n.m11 + e.m32 * n.m21 + n.m31, - c = e.m31 * n.m12 + e.m32 * n.m22 + n.m32; - return i.m11 = o, i.m12 = r, i.m21 = s, i.m22 = a, i.m31 = h, - i.m32 = c, i - }, t.multiplyTranslation = function(e, n, i) { - var o = t.createTranslation(n, i); - return t.multiply(e, o) - }, 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, i) { - return (i = i || new t).m11 = 1, i.m12 = 0, i.m21 = 0, i.m22 = 1, - i.m31 = e, i.m32 = n, i - }, t.createRotation = function(e, n) { - n = new t; - var i = Math.cos(e), o = Math.sin(e); - return n.m11 = i, n.m12 = o, n.m21 = -o, 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() { - function t(t, e, n, i) { - this.x = t || 0, this.y = e || 0, this.width = n || 0, this.height = i || 0 - } - return Object.defineProperty(t.prototype, "left", { - get : function() { return this.x }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "right", { - get : function() { return this.x + this.width }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "top", { - get : function() { return this.y }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "bottom", { - get : function() { return this.y + this.height }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.prototype, "center", { - get : function() { - return new Vector2(this.x + this.width / 2, - this.y + this.height / 2) - }, - enumerable : !0, - configurable : !0 - }), - Object.defineProperty(t.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(t.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 - }), - t.prototype.intersects = function(t) { - return t.left < this.right && this.left < t.right && - t.top < this.bottom && this.top < t.bottom - }, t.prototype.contains = function(t) { - return this.x <= t.x && t.x < this.x + this.width && this.y <= t.y && - t.y < this.y + this.height - }, t.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 - }, t.prototype.getHalfSize = function() { - return new Vector2(.5 * this.width, .5 * this.height) - }, t.fromMinMax = function(e, n, i, o) { - return new t(e, n, i - e, o - n) - }, t.prototype.getClosestPointOnRectangleBorderToPoint = function(t) { - var e = new Vector2(0, 0), n = new Vector2(0, 0); - if (n.x = MathHelper.clamp(t.x, this.left, this.right), - n.y = MathHelper.clamp(t.y, this.top, this.bottom), - this.contains(n)) { - var i = n.x - this.left, o = this.right - n.x, r = n.y - this.top, - s = this.bottom - n.y, a = Math.min(i, o, r, s); - a == r ? (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 } - }, t.prototype.calculateBounds = function(t, e, n, i, o, r, s) { - if (0 == o) - this.x = t.x + e.x - n.x * i.x, this.y = t.y + e.y - n.y * i.y, - this.width = r * i.x, this.height = s * i.y; - else { - var a = t.x + e.x, h = t.y + e.y; - this._transformMat = - Matrix2D.createTranslation(-a - n.x, -h - n.y), - this._tempMat = Matrix2D.createScale(i.x, i.y), - this._transformMat = - Matrix2D.multiply(this._transformMat, this._tempMat), - this._tempMat = Matrix2D.createRotation(o), - this._transformMat = - Matrix2D.multiply(this._transformMat, this._tempMat), - this._tempMat = Matrix2D.createTranslation(a, h), - this._transformMat = - Matrix2D.multiply(this._transformMat, this._tempMat); - var c = new Vector2(a, h), u = new Vector2(a + r, h), - l = new Vector2(a, h + s), p = new Vector2(a + r, h + s); - c = Vector2Ext.transformR(c, this._transformMat), - u = Vector2Ext.transformR(u, this._transformMat), - l = Vector2Ext.transformR(l, this._transformMat), - p = Vector2Ext.transformR(p, this._transformMat); - var f = Math.min(c.x, p.x, u.x, l.x), - d = Math.max(c.x, p.x, u.x, l.x), - y = Math.min(c.y, p.y, u.y, l.y), - g = Math.max(c.y, p.y, u.y, l.y); - this.location = new Vector2(f, y), this.width = d - f, - this.height = g - y - } - }, t.rectEncompassingPoints = function(t) { - for (var e = Number.POSITIVE_INFINITY, n = Number.POSITIVE_INFINITY, - i = Number.NEGATIVE_INFINITY, o = Number.NEGATIVE_INFINITY, - r = 0; - r < t.length; r++) { - var s = t[r]; - s.xi && (i = s.x), - s.yo && (o = s.y) - } - return this.fromMinMax(e, n, i, o) - }, 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 -}(), 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++) - for (var n = t[e], - i = Physics.boxcastBroadphase(n.bounds, n.collidesWithLayers), - o = - function(t) { - var e = i[t]; - if (!n.isTrigger && !e.isTrigger) - return "continue"; - if (n.overlaps(e)) { - var o = new Pair(n, e); - -1 == r._activeTriggerIntersections.findIndex(function( - t) { - return t.first == o.first && t.second == o.second - }) && - -1 == r._previousTriggerIntersections.findIndex( - function(t) { - return t.first == o.first && - t.second == o.second - }) && - r.notifyTriggerListeners(o, !0), - r._activeTriggerIntersections.contains(o) || - r._activeTriggerIntersections.push(o) - } - }, - r = this, s = 0; - s < i.length; s++) - o(s); - 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 Collisions = function() { - function t() {} - return t.isLineToLine = function(t, e, n, i) { - var o = Vector2.subtract(e, t), r = Vector2.subtract(i, n), - s = o.x * r.y - o.y * r.x; - if (0 == s) - return !1; - var a = Vector2.subtract(n, t), h = (a.x * r.y - a.y * r.x) / s; - if (h < 0 || h > 1) - return !1; - var c = (a.x * o.y - a.y * o.x) / s; - return !(c < 0 || c > 1) - }, t.lineToLineIntersection = function(t, e, n, i) { - var o = new Vector2(0, 0), r = Vector2.subtract(e, t), - s = Vector2.subtract(i, n), a = r.x * s.y - r.y * s.x; - if (0 == a) - return o; - var h = Vector2.subtract(n, t), c = (h.x * s.y - h.y * s.x) / a; - if (c < 0 || c > 1) - return o; - var u = (h.x * r.y - h.y * r.x) / a; - return u < 0 || u > 1 ? o - : o = Vector2.add(t, new Vector2(c * r.x, c * r.y)) - }, t.closestPointOnLine = function(t, e, n) { - var i = Vector2.subtract(e, t), o = Vector2.subtract(n, t), - r = Vector2.dot(o, i) / Vector2.dot(i, i); - return r = MathHelper.clamp(r, 0, 1), - Vector2.add(t, new Vector2(i.x * r, i.y * r)) - }, 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, o = .5 * t.height, - r = Math.max(0, Math.max(e.x - t.x) - i), - s = Math.max(0, Math.max(e.y - t.y) - o); - return r * r + s * s < n * n - }, t.isRectToLine = function(t, e, n) { - var i = this.getSector(t.x, t.y, t.width, t.height, e), - o = this.getSector(t.x, t.y, t.width, t.height, n); - if (i == PointSectors.center || o == PointSectors.center) - return !0; - if (0 != (i & o)) - return !1; - var r = i | o, s = void 0, a = void 0; - return !(0 == (r & 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 == (r & 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 == (r & 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 == (r & 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, o) { - return o.x >= t && o.y >= e && o.x < t + n && o.y < e + i - }, t.getSector = function(t, e, n, i, o) { - var r = PointSectors.center; - return o.x < t ? r |= PointSectors.left - : o.x >= t + n && (r |= PointSectors.right), - o.y < e ? r |= PointSectors.top - : o.y >= e + i && (r |= PointSectors.bottom), - r - }, 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) { - return void 0 === e && (e = this.allLayers), - this._spatialHash.aabbBroadphase(t, null, e) - }, - 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.spatialHashCellSize = 100, t.allLayers = -1, t -}(), Shape = function() { return function() {} }(), Polygon = function(t) { - function e(e, n) { - var i = t.call(this) || this; - return i.isUnrotated = !0, i._areEdgeNormalsDirty = !0, i.setPoints(e), - i.isBox = n, i - } - return __extends(e, t), 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 o = Vector2Ext.perpendicular(i, t); - o = Vector2.normalize(o), this._edgeNormals[n] = o - } - }, 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.getClosestPointOnPolygonToPoint = function(t, e) { - for (var n, i = Number.MAX_VALUE, o = new Vector2(0, 0), - r = new Vector2(0, 0), s = 0; - s < t.length; s++) { - var a = s + 1; - a == t.length && (a = 0); - var h = ShapeCollisions.closestPointOnLine(t[s], t[a], e); - if ((n = Vector2.distanceSquared(e, h)) < i) { - i = n, r = h; - var c = Vector2.subtract(t[a], t[s]); - o.x = -c.y, o.y = c.x - } - } - return { - closestPoint: r, distanceSquared: i, - edgeNormal: o = Vector2.normalize(o) - } - }, 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 o = 2 * Math.PI * (i / t); - n[i] = new Vector2(Math.cos(o), Math.sin(o) * e) - } - return n - }, e.prototype.recalculateBounds = function(t) { - if (this.center = t.localOffset, - t.shouldColliderScaleAndRotationWithTransform) { - var e = !0, n = void 0, - i = Matrix2D.createTranslation(-this._polygonCenter.x, - -this._polygonCenter.y); - if (t.entity.scale != Vector2.one) { - n = Matrix2D.createScale(t.entity.scale.x, t.entity.scale.y), - i = Matrix2D.multiply(i, n), e = !1; - var o = Vector2.multiply(t.localOffset, t.entity.scale); - this.center = o - } - if (0 != t.entity.rotation) { - n = Matrix2D.createRotation(t.entity.rotation), - i = Matrix2D.multiply(i, n); - var r = Math.atan2(t.localOffset.y, t.localOffset.x) * - MathHelper.Rad2Deg, - s = e ? t._localOffsetLength - : Vector2.multiply(t.localOffset, t.entity.scale) - .length(); - this.center = MathHelper.pointOnCirlce( - Vector2.zero, s, MathHelper.toDegrees(t.entity.rotation) + r) - } - n = Matrix2D.createTranslation(this._polygonCenter.x, - this._polygonCenter.y), - i = Matrix2D.multiply(i, n), - Vector2Ext.transform(this._originalPoints, i, this.points), - this.isUnrotated = 0 == t.entity.rotation, - t._isRotationDirty && (this._areEdgeNormalsDirty = !0) - } - this.position = Vector2.add(t.entity.position, this.center), - this.bounds = Rectangle.rectEncompassingPoints(this.points), - this.bounds.location = - Vector2.add(this.bounds.location, this.position) - }, e -}(Shape), Box = function(t) { - function e(n, i) { - var o = t.call(this, e.buildBox(n, i), !0) || this; - return o.width = n, o.height = i, o - } - return __extends(e, t), e.buildBox = function(t, e) { - var n = t / 2, i = e / 2, o = new Array(4); - return o[0] = new Vector2(-n, -i), o[1] = new Vector2(n, -i), - o[2] = new Vector2(n, i), o[3] = new Vector2(-n, i), o - }, 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 o = 0; o < this.points.length; o++) - this._originalPoints[o] = this.points[o] - }, e.prototype.containsPoint = function(e) { - return this.isUnrotated ? this.bounds.contains(e) - : t.prototype.containsPoint.call(this, e) - }, e -}(Polygon), Circle = function(t) { - function e(e) { - var n = t.call(this) || this; - return n.radius = e, n._originalRadius = e, n - } - return __extends(e, t), e.prototype.pointCollidesWithShape = function(t) { - return ShapeCollisions.pointToCircle(t, this) - }, e.prototype.collidesWithShape = function(t) { - if (t instanceof Box && t.isUnrotated) - 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.recalculateBounds = function(t) { - if (this.center = t.localOffset, - t.shouldColliderScaleAndRotationWithTransform) { - var e = t.entity.scale, n = 1 == e.x && 1 == e.y, i = Math.max(e.x, e.y); - if (this.radius = this._originalRadius * i, 0 != t.entity.rotation) { - var o = Math.atan2(t.localOffset.y, t.localOffset.x) * - MathHelper.Rad2Deg, - r = n ? t._localOffsetLength - : Vector2.multiply(t.localOffset, t.entity.scale).length(); - this.center = MathHelper.pointOnCirlce( - Vector2.zero, r, MathHelper.toDegrees(t.entity.rotation) + o) - } - } - this.position = Vector2.add(t.entity.position, this.center), - this.bounds = new Rectangle(this.position.x - this.radius, - this.position.y - this.radius, 2 * this.radius, - 2 * this.radius) - }, e.prototype.overlaps = function(t) { - if (t instanceof Box && t.isUnrotated) - 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() {} - 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, o = !0, r = t.edgeNormals, - s = e.edgeNormals, a = Number.POSITIVE_INFINITY, - h = new Vector2, c = Vector2.subtract(t.position, e.position), - u = 0; - u < r.length + s.length; u++) { - n = u < r.length ? r[u] : s[u - r.length]; - var l = 0, p = 0, f = 0, d = 0, y = 0, g = this.getInterval(n, t, l, f); - l = g.min, p = g.max; - var m = this.getInterval(n, e, p, d); - p = m.min, d = m.max; - var _ = Vector2.dot(c, n); - if (l += _, f += _, - (y = this.intervalDistance(l, f, p, d)) > 0 && (o = !1), !o) + (Array.prototype.sum = function (t) { + return (function (t, e) { + for (var n, i = 0, o = t.length; i < o; 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 DirtyType, + ComponentTransform, + 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, + o = !1, + r = new Map(); + r.set(e, e); + var s = new Map(), + a = new PriorityQueue(1e3); + a.enqueue(new AStarNode(e), 0), s.set(e, 0); + for ( + var h = function () { + var e = a.dequeue(); + if (JSON.stringify(e.data) == JSON.stringify(n)) + return (o = !0), "break"; + t.getNeighbors(e.data).forEach(function (o) { + var h = s.get(e.data) + t.cost(e.data, o); + if (!i.hasKey(s, o) || h < s.get(o)) { + s.set(o, h); + var c = h + t.heuristic(o, n); + a.enqueue(new AStarNode(o), c), r.set(o, e.data); + } + }); + }; + a.count > 0; + + ) { + if ("break" === h()) break; + } + return o ? this.recontructPath(r, 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, o = t.keys(), r = t.values(); + (n = o.next()), (i = r.next()), !n.done; + + ) + if (JSON.stringify(n.value) == JSON.stringify(e)) return i.value; return null; - (y = Math.abs(y)) < a && - (a = y, h = n, Vector2.dot(h, c) < 0 && (h = new Vector2(-h))) + }), + (t.recontructPath = function (t, e, n) { + var i = [], + o = n; + for (i.push(n); o != e; ) (o = this.getKey(t, o)), i.push(o); + return i.reverse(), i; + }), + t + ); + })(), + AStarNode = (function (t) { + function e(e) { + var n = t.call(this) || this; + return (n.data = e), n; } - return i.normal = h, - i.minimumTranslationVector = - Vector2.multiply(new Vector2(-h), 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 o = Vector2.dot(e.points[0], t); - n = i = o; - for (var r = 1; r < e.points.length; r++) - (o = Vector2.dot(e.points[r], t))i && (i = o); - return { min: n, max: i } - }, t.circleToPolygon = function(t, e) { - var n = new CollisionResult, i = Vector2.subtract(t.position, e.position), - o = Polygon.getClosestPointOnPolygonToPoint(e.points, i), - r = o.closestPoint, s = o.distanceSquared; - n.normal = o.edgeNormal; - var a, h = e.containsPoint(t.position); - if (s > t.radius * t.radius && !h) - return null; - if (h) - 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 c = Math.sqrt(s); - a = Vector2.multiply(new Vector2(-Vector2.subtract(i, r)), - new Vector2((t.radius - s) / c)) + return __extends(e, t), e; + })(PriorityQueueNode), + AstarGridGraph = (function () { + function t(t, e) { + (this.dirs = [ + new Point(1, 0), + new Point(0, -1), + new Point(-1, 0), + new Point(0, 1), + ]), + (this.walls = []), + (this.weightedNodes = []), + (this.defaultWeight = 1), + (this.weightedNodeWeight = 5), + (this._neighbors = new Array(4)), + (this._width = t), + (this._height = e); } - return n.minimumTranslationVector = a, n.point = Vector2.add(r, 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 o = Vector2.add(i, Vector2.subtract(n.normal, new Vector2(t.radius))); - return n.minimumTranslationVector = Vector2.subtract(t.position, o), n + 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 Point(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); } - var r = Vector2.distanceSquared(i, t.position); - if (0 == r) - n.minimumTranslationVector = - Vector2.multiply(n.normal, new Vector2(t.radius)); - else if (r <= 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 ( + (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, + }), + (t.prototype.contains = function (t) { + return this._nodes[t.queueIndex] == t; + }), + (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 o = this._nodes[i]; + this.hasHigherPriority(o, e) && (e = o); + var r = i + 1; + if (r <= this._numNodes) { + var s = this._nodes[r]; + 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, + o = !1, + r = []; + r.unshift(e); + var s = new Map(); + s.set(e, e); + for ( + var a = function () { + var e = r.shift(); + if (JSON.stringify(e) == JSON.stringify(n)) + return (o = !0), "break"; + t.getNeighbors(e).forEach(function (t) { + i.hasKey(s, t) || (r.unshift(t), s.set(t, e)); + }); + }; + r.length > 0; + + ) { + if ("break" === a()) break; + } + return o ? 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 null - }, t.pointToCircle = function(t, e) { - var n = new CollisionResult, i = Vector2.distanceSquared(t, e.position), - o = 1 + e.radius; - if (i < o * o) { - n.normal = Vector2.normalize(Vector2.subtract(t, e.position)); - var r = o - Math.sqrt(i); - return n.minimumTranslationVector = - Vector2.multiply(new Vector2(-r, -r), n.normal), - n.point = Vector2.add( - e.position, - Vector2.multiply(n.normal, new Vector2(e.radius, e.radius))), - n + 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 + ); + })(), + Point = (function () { + return function (t, e) { + (this.x = t || 0), (this.y = e || this.x); + }; + })(), + 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 null - }, t.closestPointOnLine = function(t, e, n) { - var i = Vector2.subtract(e, t), o = Vector2.subtract(n, t), - r = Vector2.dot(o, i) / Vector2.dot(i, i); - return r = MathHelper.clamp(r, 0, 1), - Vector2.add(t, Vector2.multiply(i, new Vector2(r, r))) - }, t.pointToPoly = function(t, e) { - var n = new CollisionResult; - if (e.containsPoint(t)) { - var i, - o = Polygon.getClosestPointOnPolygonToPoint( - e.points, Vector2.subtract(t, e.position)), - r = o.closestPoint; - return i = o.distanceSquared, n.normal = o.edgeNormal, - n.minimumTranslationVector = Vector2.multiply( - n.normal, new Vector2(Math.sqrt(i), Math.sqrt(i))), - n.point = Vector2.add(r, e.position), n + 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 Point(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 Point(1, 0), + new Point(0, -1), + new Point(-1, 0), + new Point(0, -1), + ]), + (t.COMPASS_DIRS = [ + new Point(1, 0), + new Point(1, -1), + new Point(0, -1), + new Point(-1, -1), + new Point(-1, 0), + new Point(-1, 1), + new Point(0, 1), + new Point(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 null - }, t.circleToCircle = function(t, e) { - var n = new CollisionResult, - i = Vector2.distanceSquared(t.position, e.position), - o = t.radius + e.radius; - if (i < o * o) { - n.normal = Vector2.normalize(Vector2.subtract(t.position, e.position)); - var r = o - Math.sqrt(i); - return n.minimumTranslationVector = - Vector2.multiply(new Vector2(-r), n.normal), - n.point = Vector2.add( - e.position, Vector2.multiply(n.normal, new Vector2(e.radius))), - n + 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 Point(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 Point(1, 0), + new Point(0, -1), + new Point(-1, 0), + new Point(0, 1), + ]), + (t.COMPASS_DIRS = [ + new Point(1, 0), + new Point(1, -1), + new Point(0, -1), + new Point(-1, -1), + new Point(-1, 0), + new Point(-1, 1), + new Point(0, 1), + new Point(1, 1), + ]), + t + ); + })(), + WeightedNode = (function (t) { + function e(e) { + var n = t.call(this) || this; + return (n.data = e), n; } - return null - }, t -}(), SpatialHash = function() { - function t(t) { - void 0 === t && (t = 100), - this.gridBounds = new Rectangle, 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), o = n.x; - o <= i.x; o++) - for (var r = n.y; r <= i.y; r++) { - var s = this.cellAtPosition(o, r); - 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(new Vector2(n.x, n.y)) || - (this.gridBounds = RectangleExt.union(this.gridBounds, n)), - this.gridBounds.contains(new Vector2(i.x, i.y)) || + return __extends(e, t), e; + })(PriorityQueueNode), + WeightedPathfinder = (function () { + function t() {} + return ( + (t.search = function (t, e, n) { + var i = this, + o = !1, + r = new Map(); + r.set(e, e); + var s = new Map(), + a = new PriorityQueue(1e3); + a.enqueue(new WeightedNode(e), 0), s.set(e, 0); + for ( + var h = function () { + var e = a.dequeue(); + if (JSON.stringify(e.data) == JSON.stringify(n)) + return (o = !0), "break"; + t.getNeighbors(e.data).forEach(function (n) { + var o = s.get(e.data) + t.cost(e.data, n); + if (!i.hasKey(s, n) || o < s.get(n)) { + s.set(n, o); + var h = o; + a.enqueue(new WeightedNode(n), h), r.set(n, e.data); + } + }); + }; + a.count > 0; + + ) { + if ("break" === h()) break; + } + return o ? this.recontructPath(r, 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, o = t.keys(), r = t.values(); + (n = o.next()), (i = r.next()), !n.done; + + ) + if (JSON.stringify(n.value) == JSON.stringify(e)) return i.value; + return null; + }), + (t.recontructPath = function (t, e, n) { + var i = [], + o = n; + for (i.push(n); o != e; ) (o = this.getKey(t, o)), i.push(o); + return i.reverse(), i; + }), + t + ); + })(), + DebugDefaults = (function () { + function t() {} + return (t.verletParticle = 14431326), (t.verletConstraintEdge = 4406838), t; + })(), + Component = (function (t) { + function e() { + var e = (null !== t && t.apply(this, arguments)) || this; + return (e._enabled = !0), (e.updateInterval = 1), 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, + }), + (e.prototype.setEnabled = function (t) { + return ( + this._enabled != t && + ((this._enabled = t), + this._enabled ? this.onEnabled() : this.onDisabled()), + this + ); + }), + (e.prototype.initialize = function () {}), + (e.prototype.onAddedToEntity = function () {}), + (e.prototype.onRemovedFromEntity = function () {}), + (e.prototype.onEnabled = function () {}), + (e.prototype.onDisabled = function () {}), + (e.prototype.onEntityTransformChanged = function (t) {}), + (e.prototype.update = function () {}), + (e.prototype.debugRender = function () {}), + (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), + Entity = (function (t) { + function e(n) { + var i = t.call(this) || this; + return ( + (i._position = Vector2.zero), + (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 + ); + } + 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 this._position; + }, + set: function (t) { + this._position = t; + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(e.prototype, "scale", { + get: function () { + return new Vector2(this.scaleX, this.scaleY); + }, + set: function (t) { + (this.scaleX = t.x), (this.scaleY = t.y); + }, + 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, + }), + 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.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.onTransformChanged = function (t) { + this.components.onEntityTransformChanged(t); + }), + (e.prototype.destroy = function () { + (this._isDestoryed = !0), + this.scene.entities.remove(this), + this.removeChildren(); + for (var t = this.numChildren - 1; t >= 0; t--) { + this.getChildAt(t).entity.destroy(); + } + }), + e + ); + })(egret.DisplayObjectContainer), + 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(); + }), + (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.stage = e), + t.initialize(e); + } + return ( + Object.defineProperty(t, "scene", { + get: function () { + return this._scene; + }, + set: function (t) { + if (!t) throw new Error("场景不能为空"); + null == this._scene + ? ((this._scene = t), this._scene.begin()) + : (this._nextScene = t); + }, + enumerable: !0, + configurable: !0, + }), + (t.initialize = function (t) { + Input.initialize(t); + }), + (t.update = function () { + if ((Time.update(egret.getTimer()), t._scene)) { + for (var e = GlobalManager.globalManagers.length - 1; e >= 0; e--) + GlobalManager.globalManagers[e].enabled && + GlobalManager.globalManagers[e].update(); + if ( + ((t.sceneTransition && + (!t.sceneTransition || + (t.sceneTransition.loadsNewScene && + !t.sceneTransition.isNewSceneLoaded))) || + t._scene.update(), + t._nextScene) + ) { + t._scene.end(); + for (e = 0; e < t._scene.entities.buffer.length; e++) { + t._scene.entities.buffer[e].destroy(); + } + (t._scene = t._nextScene), (t._nextScene = null), t._scene.begin(); + } + } + 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(), this._scene.postRender()); + }), + (t.startSceneTransition = function (t) { + if (!this.sceneTransition) return (this.sceneTransition = t), t; + console.warn("在前一个场景完成之前,不能开始一个新的场景转换。"); + }), + t + ); + })(); +!(function (t) { + (t[(t.clean = 0)] = "clean"), + (t[(t.positionDirty = 1)] = "positionDirty"), + (t[(t.scaleDirty = 2)] = "scaleDirty"), + (t[(t.rotationDirty = 3)] = "rotationDirty"); +})(DirtyType || (DirtyType = {})), + (function (t) { + (t[(t.position = 0)] = "position"), + (t[(t.scale = 1)] = "scale"), + (t[(t.rotation = 2)] = "rotation"); + })(ComponentTransform || (ComponentTransform = {})); +var CameraStyle, + Transform = (function () { + function t(t) { + (this._localRotation = 0), + (this._worldTransform = Matrix2D.identity), + (this._worldToLocalTransform = Matrix2D.identity), + (this._worldInverseTransform = Matrix2D.identity), + (this._rotation = 0), + (this.entity = t), + (this._scale = this._localScale = Vector2.one), + (this._children = []); + } + return ( + Object.defineProperty(t.prototype, "childCount", { + get: function () { + return this._children.length; + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.getChild = function (t) { + return this._children[t]; + }), + Object.defineProperty(t.prototype, "worldInverseTransform", { + get: function () { + return ( + this.updateTransform(), + this._worldInverseDirty && + ((this._worldInverseTransform = Matrix2D.invert( + this._worldTransform, + this._worldInverseTransform + )), + (this._worldInverseDirty = !1)), + this._worldInverseTransform + ); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "localToWorldTransform", { + get: function () { + return this.updateTransform(), this._worldTransform; + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "worldToLocalTransform", { + get: function () { + return ( + this._worldToLocalDirty && + (this.parent + ? (this.parent.updateTransform(), + (this._worldToLocalTransform = Matrix2D.invert( + this.parent._worldTransform, + this._worldToLocalTransform + ))) + : (this._worldInverseTransform = new Matrix2D()), + (this._worldToLocalDirty = !1)), + this._worldToLocalTransform + ); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "parent", { + get: function () { + return this._parent; + }, + set: function (t) { + this.setParent(t); + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setParent = function (t) { + return this._parent == t + ? this + : (this._parent && this._parent._children.remove(this), + t && t._children.push(this), + (this._parent = t), + this); + }), + Object.defineProperty(t.prototype, "rotation", { + get: function () { + return this.updateTransform(), this._rotation; + }, + set: function (t) { + this.setRotation(t); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "localRotation", { + get: function () { + return this.updateTransform(), this._localRotation; + }, + set: function (t) { + this.setLocalRotation(t); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "position", { + get: function () { + return ( + this.updateTransform(), + this._positionDirty && + (this.parent + ? (this.parent.updateTransform(), + (this._position = Vector2Ext.transformR( + this._localPosition, + this.parent._worldTransform + ))) + : (this._position = this._localPosition), + (this._positionDirty = !1)), + this._position + ); + }, + set: function (t) { + this.setPosition(t); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "localPosition", { + get: function () { + return this.updateTransform(), this._localPosition; + }, + set: function (t) { + this.setLocalPosition(t); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "scale", { + get: function () { + return this.updateTransform(), this._scale; + }, + set: function (t) { + this.setScale(t); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "localScale", { + get: function () { + return this.updateTransform(), this._localScale; + }, + set: function (t) { + this.setLocalScale(t); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "rotationDegrees", { + get: function () { + return MathHelper.toDegrees(this._rotation); + }, + set: function (t) { + this.setRotation(MathHelper.toRadians(t)); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "localRotationDegrees", { + get: function () { + return MathHelper.toDegrees(this._localRotation); + }, + set: function (t) { + this.localRotation = MathHelper.toRadians(t); + }, + enumerable: !0, + configurable: !0, + }), + (t.prototype.setLocalScale = function (t) { + return ( + (this._localScale = t), + (this._localDirty = this._positionDirty = this._localScaleDirty = !0), + this.setDirty(DirtyType.scaleDirty), + this + ); + }), + (t.prototype.setScale = function (t) { + return ( + (this._scale = t), + this.parent + ? (this.localScale = Vector2.divide(t, this.parent._scale)) + : (this.localScale = t), + this + ); + }), + (t.prototype.setLocalRotationDegrees = function (t) { + return this.setLocalRotation(MathHelper.toRadians(t)); + }), + (t.prototype.setLocalRotation = function (t) { + return ( + (this._localRotation = t), + (this._localDirty = this._positionDirty = this._localPositionDirty = this._localRotationDirty = this._localScaleDirty = !0), + this.setDirty(DirtyType.rotationDirty), + this + ); + }), + (t.prototype.setRotation = function (t) { + return ( + (this._rotation = t), + this.parent + ? (this.localRotation = this.parent.rotation + t) + : (this.localRotation = t), + this + ); + }), + (t.prototype.setRotationDegrees = function (t) { + return this.setRotation(MathHelper.toRadians(t)); + }), + (t.prototype.setLocalPosition = function (t) { + return t == this._localPosition + ? this + : ((this._localPosition = t), + (this._localDirty = this._positionDirty = this._localPositionDirty = this._localRotationDirty = this._localScaleDirty = !0), + this.setDirty(DirtyType.positionDirty), + this); + }), + (t.prototype.setPosition = function (t) { + return t == this._position + ? this + : ((this._position = t), + this.parent + ? (this.localPosition = Vector2.transform( + this._position, + this._worldToLocalTransform + )) + : (this.localPosition = t), + (this._positionDirty = !1), + this); + }), + (t.prototype.setDirty = function (t) { + if (0 == (this._hierachyDirty & t)) { + switch (((this._hierachyDirty |= t), t)) { + case DirtyType.positionDirty: + this.entity.onTransformChanged(ComponentTransform.position); + break; + case DirtyType.rotationDirty: + this.entity.onTransformChanged(ComponentTransform.rotation); + break; + case DirtyType.scaleDirty: + this.entity.onTransformChanged(ComponentTransform.scale); + } + null == this._children && (this._children = []); + for (var e = 0; e < this._children.length; e++) + this._children[e].setDirty(t); + } + }), + (t.prototype.roundPosition = function () { + this.position = this._position.round(); + }), + (t.prototype.updateTransform = function () { + this._hierachyDirty != DirtyType.clean && + (this.parent && this.parent.updateTransform(), + this._localDirty && + (this._localPositionDirty && + ((this._translationMatrix = Matrix2D.createTranslation( + this._localPosition.x, + this._localPosition.y + )), + (this._localPositionDirty = !1)), + this._localRotationDirty && + ((this._rotationMatrix = Matrix2D.createRotation( + this._localRotation + )), + (this._localRotationDirty = !1)), + this._localScaleDirty && + ((this._scaleMatrix = Matrix2D.createScale( + this._localScale.x, + this._localScale.y + )), + (this._localScaleDirty = !1)), + (this._localTransform = Matrix2D.multiply( + this._scaleMatrix, + this._rotationMatrix + )), + (this._localTransform = Matrix2D.multiply( + this._localTransform, + this._translationMatrix + )), + this.parent || + ((this._worldTransform = this._localTransform), + (this._rotation = this._localRotation), + (this._scale = this._localScale), + (this._worldInverseDirty = !0)), + (this._localDirty = !1)), + this.parent && + ((this._worldTransform = Matrix2D.multiply( + this._localTransform, + this.parent._worldTransform + )), + (this._rotation = this._localRotation + this.parent._rotation), + (this._scale = Vector2.multiply( + this.parent._scale, + this._localScale + )), + (this._worldInverseDirty = !0)), + (this._worldToLocalDirty = !0), + (this._positionDirty = !0), + (this._hierachyDirty = DirtyType.clean)); + }), + t + ); + })(), + Camera = (function (t) { + function e() { + var e = t.call(this) || this; + return ( + (e._origin = Vector2.zero), + (e._minimumZoom = 0.3), + (e._maximumZoom = 3), + (e.followLerp = 0.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.entity.position; + }, + set: function (t) { + this.entity.position = 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, + o = n.height / 3; + this.deadzone = new Rectangle( + (n.width - i) / 2, + (n.height - o) / 2, + i, + o + ); + 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(0.5) + ); + (this._worldSpaceDeadZone.x = + this.position.x - e.x + this.deadzone.x + this.focusOffset.x), + (this._worldSpaceDeadZone.y = + this.position.y - e.y + 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(0.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 PointSectors, + 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 + ); + })(), + Mesh = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return ( + __extends(e, t), + (e.prototype.initialize = function () {}), + (e.prototype.setVertPosition = function (t) { + (!this._verts || this._verts.length != t.length) && + (this._verts = new Array(t.length)); + for (var e = 0; e < this._verts.length; e++) + this._verts[e] = new VertexPosition(t[e]); + return this; + }), + (e.prototype.setTriangles = function (t) { + return ( + (this._primitiveCount = t.length / 3), (this._triangles = t), this + ); + }), + (e.prototype.recalculateBounds = function () { + this._topLeftVertPosition = new Vector2( + Number.MAX_VALUE, + Number.MAX_VALUE + ); + for ( + var t = new Vector2(Number.MIN_VALUE, Number.MIN_VALUE), e = 0; + e < this._verts.length; + e++ + ) + (this._topLeftVertPosition.x = Math.min( + this._topLeftVertPosition.x, + this._verts[e].position.x + )), + (this._topLeftVertPosition.y = Math.min( + this._topLeftVertPosition.y, + this._verts[e].position.y + )), + (t.x = Math.max(t.x, this._verts[e].position.x)), + (t.y = Math.max(t.y, this._verts[e].position.y)); + return ( + (this._width = t.x - this._topLeftVertPosition.x), + (this._height = t.y - this._topLeftVertPosition.y), + this + ); + }), + (e.prototype.render = function () {}), + e + ); + })(Component), + VertexPosition = (function () { + return function (t) { + this.position = t; + }; + })(), + PolygonMesh = (function (t) { + function e(e, n) { + void 0 === n && (n = !0); + var i = t.call(this) || this, + o = new Triangulator(); + return ( + o.triangulate(e, n), + i.setVertPosition(e), + i.setTriangles(o.triangleIndices), + i.recalculateBounds(), + i + ); + } + return __extends(e, t), e; + })(Mesh), + 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.prototype.onEntityTransformChanged = function (t) { + this._areBoundsDirty = !0; + }), + e + ); + })(PooledComponent), + ScreenSpaceCamera = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return __extends(e, t), (e.prototype.updateMatrixes = function () {}), e; + })(Camera), + 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(0.5 * e.width, 0.5 * e.height)), + (this.origin = n); + var i = 1 / t.textureWidth, + o = 1 / t.textureHeight; + (this.uvs.x = e.x * i), + (this.uvs.y = e.y * o), + (this.uvs.width = e.width * i), + (this.uvs.height = e.height * o); + }; + })(), + SpriteRenderer = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return ( + __extends(e, t), + Object.defineProperty(e.prototype, "origin", { + get: function () { + return this._origin; + }, + set: function (t) { + this.setOrigin(t); + }, + enumerable: !0, + configurable: !0, + }), + (e.prototype.setOrigin = function (t) { + return this._origin != t && (this._origin = t), this; + }), + (e.prototype.setSprite = function (t) { + return ( + this.removeChildren(), + (this._sprite = t), + this._sprite && (this._origin = this._sprite.origin), + (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 = + this.entity.position.x - this.origin.x - t.position.x + t.origin.x), + (this.y = + this.entity.position.y - this.origin.y - t.position.y + t.origin.y); + }), + (e.prototype.onRemovedFromEntity = function () { + this.parent && this.parent.removeChild(this); + }), + (e.prototype.reset = function () {}), + e + ); + })(RenderableComponent), + 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 o = n[i]; + if (!o.isTrigger) { + var r = o.bounds; + (r.x += t.x), (r.y += t.y); + for ( + var s = Physics.boxcastBroadphaseExcludingSelf( + o, + r, + o.collidesWithLayers + ), + a = 0; + a < s.length; + a++ + ) { + var h = s[a]; + if (!h.isTrigger) { + var c = o.collidesWith(h, t); + c && + ((t = Vector2.subtract(t, c.minimumTranslationVector)), + c.collider && (e = c)); + } + } + } + } + return ListPool.free(n), e; + }), + (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); + return this.applyMovement(t), e; + }), + e + ); + })(Component), + Collider = (function (t) { + function e() { + var e = (null !== t && t.apply(this, arguments)) || this; + return ( + (e.physicsLayer = 1), + (e.shouldColliderScaleAndRotationWithTransform = !0), + (e.collidesWithLayers = Physics.allLayers), + (e._isPositionDirty = !0), + (e._isRotationDirty = !0), + (e._localOffset = new Vector2(0, 0)), + e + ); + } + return ( + __extends(e, t), + Object.defineProperty(e.prototype, "bounds", { + get: function () { + return ( + (this._isPositionDirty || this._isRotationDirty) && + (this.shape.recalculateBounds(this), + (this._isPositionDirty = this._isRotationDirty = !1)), + this.shape.bounds + ); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(e.prototype, "localOffset", { + get: function () { + return this._localOffset; + }, + set: function (t) { + this.setLocalOffset(t); + }, + enumerable: !0, + configurable: !0, + }), + (e.prototype.setLocalOffset = function (t) { + this._localOffset != t && + (this.unregisterColliderWithPhysicsSystem(), + (this._localOffset = t), + (this._localOffsetLength = this._localOffset.length()), + (this._isPositionDirty = !0), + this.registerColliderWithPhysicsSystem()); + }), + (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.shape.position; + this.shape.position = Vector2.add(this.shape.position, e); + var i = this.shape.collidesWithShape(t.shape); + return i && (i.collider = t), (this.shape.position = n), i; + }), + (e.prototype.onAddedToEntity = function () { + if (this._colliderRequiresAutoSizing) { + this instanceof BoxCollider || + 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 BoxCollider) { + (this.width = n), + (this.height = i), + (this.localOffset = Vector2.subtract( + e.center, + this.entity.position + )); + } + } + } + (this._isParentEntityAddedToScene = !0), + this.registerColliderWithPhysicsSystem(); + }), + (e.prototype.onRemovedFromEntity = function () { + this.unregisterColliderWithPhysicsSystem(), + (this._isParentEntityAddedToScene = !1); + }), + (e.prototype.onEntityTransformChanged = function (t) { + switch (t) { + case ComponentTransform.position: + case ComponentTransform.scale: + this._isPositionDirty = !0; + break; + case ComponentTransform.rotation: + this._isRotationDirty = !0; + } + this._isColliderRegistered && Physics.updateCollider(this); + }), + (e.prototype.onEnabled = function () { + this.registerColliderWithPhysicsSystem(), + (this._isPositionDirty = this._isRotationDirty = !0); + }), + (e.prototype.onDisabled = function () { + this.unregisterColliderWithPhysicsSystem(); + }), + 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._isPositionDirty = !0), + 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._isPositionDirty = !0), + 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._isPositionDirty = !0), + this.entity && + this._isParentEntityAddedToScene && + Physics.updateCollider(this)), + this + ); + }), + 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._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.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]; + !e.enabled || + (1 != e.updateInterval && + Time.frameCount % e.updateInterval != 0) || + e.update(); + } + }), + (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 + ); + })(), + 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 + ); + })(), + 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 + ); + })(), + Time = (function () { + function t() {} + return ( + (t.update = function (t) { + var e = (t - this._lastTime) / 1e3; + (this.deltaTime = e * this.timeScale), + (this.unscaledDeltaTime = e), + this.frameCount++, + (this._lastTime = t); + }), + (t.deltaTime = 0), + (t.timeScale = 1), + (t.frameCount = 0), + (t._lastTime = 0), + t + ); + })(), + GraphicsCapabilities = (function () { + function t() {} + return ( + (t.prototype.initialize = function (t) { + this.platformInitialize(t); + }), + (t.prototype.platformInitialize = function (t) { + var e = new egret.sys.RenderBuffer().context.getInstance(); + (this.supportsNonPowerOfTwo = !1), + (this.supportsTextureFilterAnisotropic = + null != e.getExtension("EXT_texture_filter_anisotropic")), + (this.supportsDepth24 = !0), + (this.supportsPackedDepthStencil = !0), + (this.supportsDepthNonLinear = !1), + (this.supportsTextureMaxLevel = !0), + (this.supportsS3tc = + null != e.getExtension("WEBGL_compressed_texture_s3tc") || + null != e.getExtension("WEBGL_compressed_texture_s3tc_srgb")), + (this.supportsDxt1 = this.supportsS3tc), + (this.supportsPvrtc = !1), + (this.supportsAtitc = + null != e.getExtension("WEBGL_compressed_texture_astc")), + (this.supportsFramebufferObjectARB = !1); + }), + t + ); + })(), + 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 + ); + })(), + GraphicsResource = (function () { + return function () {}; + })(), + 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.enable = !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 + ); + })(), + BloomSettings = (function () { + function t(t, e, n, i, o, r) { + (this.threshold = t), + (this.blurAmount = e), + (this.intensity = n), + (this.baseIntensity = i), + (this.saturation = o), + (this.baseStaturation = r); + } + return ( + (t.presetSettings = [ + new t(0.1, 0.6, 2, 1, 1, 0), + new t(0, 3, 1, 1, 1, 1), + new t(0.5, 8, 2, 1, 0, 1), + new t(0.25, 8, 1.3, 1, 1, 0), + new t(0, 2, 1, 0.1, 1, 1), + new t(0.5, 2, 1, 1, 1, 1), + ]), + 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 o = t.call(this) || this; + return ( + (o._indices = []), + (o.radius = e), + (o.power = i), + (o.color = n), + o.computeTriangleIndices(), + o + ); + } + 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 (o) { + var r = i ? 1 : 0, + s = i ? 0 : 1; + egret.Tween.get(t.uniforms) + .set({ _progress: r }) + .to({ _progress: s }, 1e3 * e, n) + .call(function () { + o(); + }); + }) + ); + }), + t + ); + })(), + FadeTransition = (function (t) { + function e(e) { + var n = t.call(this, e) || this; + return ( + (n.fadeToColor = 0), + (n.fadeOutDuration = 0.4), + (n.fadeEaseType = egret.Ease.quadInOut), + (n.delayBeforeFadeInDuration = 0.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: 0.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), + BaseView = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return ( + __extends(e, t), + (e.prototype.init = function () {}), + (e.prototype.show = function (t) {}), + (e.prototype.refreshData = function (t) { + this._data = t; + }), + (e.prototype.refreshView = function () {}), + (e.prototype.close = function () {}), + (e.prototype.destroy = function () { + for ( + this.parent && this.parent.removeChild(this); + this.numChildren > 0; + + ) + this.removeChildAt(0); + }), + e + ); + })(egret.DisplayObjectContainer), + BaseFuiView = (function (t) { + function e(e) { + var n = t.call(this) || this; + return (n.name = e), n; + } + return __extends(e, t), e; + })(BaseView), + BaseSingle = (function () { + function t() {} + return ( + (t.getInstance = function () { + return ( + null == this._instance && (this._instance = new this()), + this._instance + ); + }), + (t.prototype.clearFuiObj = function (t) { + return ( + !!t && + (egret.Tween.removeTweens(t.displayObject), + t.displayObject && + t.displayObject.parent && + t.displayObject.parent.removeChild(t.displayObject), + t.dispose(), + (t = null), + !0) + ); + }), + t + ); + })(), + ViewManager = (function (t) { + function e() { + var e = (null !== t && t.apply(this, arguments)) || this; + return (e._openDic = []), e; + } + return ( + __extends(e, t), + (e.prototype.refreshView = function (t, e) { + var n = this.getView(t); + n && (n.refreshData(e), n.refreshView()); + }), + (e.prototype.openView = function (t, e, n) { + var i = this.getView(t); + if ((i || (i = new t()), this.existView(t))) + return i.refreshData(e), void i.refreshView(); + this._openDic.push(i); + }), + (e.prototype.getView = function (t) { + return this._openDic.firstOrDefault(function (e) { + return e instanceof t; + }); + }), + (e.prototype.existView = function (t) { + return ( + -1 != + this._openDic.findIndex(function (e) { + return e instanceof t; + }) + ); + }), + e + ); + })(BaseSingle), + 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 0.017453292519943295 * t; + }), + (t.map = function (t, e, n, i, o) { + return i + ((t - e) * (o - 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 o = t.toRadians(i); + return new Vector2(Math.cos(o) * o + e.x, Math.sin(o) * o + e.y); + }), + (t.isEven = function (t) { + return t % 2 == 0; + }), + (t.Epsilon = 1e-5), + (t.Rad2Deg = 57.29578), + (t.Deg2Rad = 0.0174532924), + t + ); + })(), + Matrix2D = (function () { + function t(t, e, n, i, o, r) { + (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 = o || 0), + (this.m32 = r || 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(), + o = e.m11 * n.m11 + e.m12 * n.m21, + r = 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, + h = e.m31 * n.m11 + e.m32 * n.m21 + n.m31, + c = e.m31 * n.m12 + e.m32 * n.m22 + n.m32; + return ( + (i.m11 = o), + (i.m12 = r), + (i.m21 = s), + (i.m22 = a), + (i.m31 = h), + (i.m32 = c), + i + ); + }), + (t.multiplyTranslation = function (e, n, i) { + var o = t.createTranslation(n, i); + return t.multiply(e, o); + }), + (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, i) { + return ( + ((i = i || new t()).m11 = 1), + (i.m12 = 0), + (i.m21 = 0), + (i.m22 = 1), + (i.m31 = e), + (i.m32 = n), + i + ); + }), + (t.createRotation = function (e, n) { + n = new t(); + var i = Math.cos(e), + o = Math.sin(e); + return (n.m11 = i), (n.m12 = o), (n.m21 = -o), (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 () { + function t(t, e, n, i) { + (this.x = t || 0), + (this.y = e || 0), + (this.width = n || 0), + (this.height = i || 0); + } + return ( + Object.defineProperty(t.prototype, "left", { + get: function () { + return this.x; + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "right", { + get: function () { + return this.x + this.width; + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "top", { + get: function () { + return this.y; + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "bottom", { + get: function () { + return this.y + this.height; + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.prototype, "center", { + get: function () { + return new Vector2(this.x + this.width / 2, this.y + this.height / 2); + }, + enumerable: !0, + configurable: !0, + }), + Object.defineProperty(t.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(t.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, + }), + (t.prototype.intersects = function (t) { + return ( + t.left < this.right && + this.left < t.right && + t.top < this.bottom && + this.top < t.bottom + ); + }), + (t.prototype.contains = function (t) { + return ( + this.x <= t.x && + t.x < this.x + this.width && + this.y <= t.y && + t.y < this.y + this.height + ); + }), + (t.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 + ); + }), + (t.prototype.getHalfSize = function () { + return new Vector2(0.5 * this.width, 0.5 * this.height); + }), + (t.fromMinMax = function (e, n, i, o) { + return new t(e, n, i - e, o - n); + }), + (t.prototype.getClosestPointOnRectangleBorderToPoint = function (t) { + var e = new Vector2(0, 0), + n = new Vector2(0, 0); + if ( + ((n.x = MathHelper.clamp(t.x, this.left, this.right)), + (n.y = MathHelper.clamp(t.y, this.top, this.bottom)), + this.contains(n)) + ) { + var i = n.x - this.left, + o = this.right - n.x, + r = n.y - this.top, + s = this.bottom - n.y, + a = Math.min(i, o, r, s); + a == r + ? ((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 }; + }), + (t.prototype.calculateBounds = function (t, e, n, i, o, r, s) { + if (0 == o) + (this.x = t.x + e.x - n.x * i.x), + (this.y = t.y + e.y - n.y * i.y), + (this.width = r * i.x), + (this.height = s * i.y); + else { + var a = t.x + e.x, + h = t.y + e.y; + (this._transformMat = Matrix2D.createTranslation(-a - n.x, -h - n.y)), + (this._tempMat = Matrix2D.createScale(i.x, i.y)), + (this._transformMat = Matrix2D.multiply( + this._transformMat, + this._tempMat + )), + (this._tempMat = Matrix2D.createRotation(o)), + (this._transformMat = Matrix2D.multiply( + this._transformMat, + this._tempMat + )), + (this._tempMat = Matrix2D.createTranslation(a, h)), + (this._transformMat = Matrix2D.multiply( + this._transformMat, + this._tempMat + )); + var c = new Vector2(a, h), + u = new Vector2(a + r, h), + l = new Vector2(a, h + s), + p = new Vector2(a + r, h + s); + (c = Vector2Ext.transformR(c, this._transformMat)), + (u = Vector2Ext.transformR(u, this._transformMat)), + (l = Vector2Ext.transformR(l, this._transformMat)), + (p = Vector2Ext.transformR(p, this._transformMat)); + var f = Math.min(c.x, p.x, u.x, l.x), + d = Math.max(c.x, p.x, u.x, l.x), + y = Math.min(c.y, p.y, u.y, l.y), + g = Math.max(c.y, p.y, u.y, l.y); + (this.location = new Vector2(f, y)), + (this.width = d - f), + (this.height = g - y); + } + }), + (t.rectEncompassingPoints = function (t) { + for ( + var e = Number.POSITIVE_INFINITY, + n = Number.POSITIVE_INFINITY, + i = Number.NEGATIVE_INFINITY, + o = Number.NEGATIVE_INFINITY, + r = 0; + r < t.length; + r++ + ) { + var s = t[r]; + s.x < e && (e = s.x), + s.x > i && (i = s.x), + s.y < n && (n = s.y), + s.y > o && (o = s.y); + } + return this.fromMinMax(e, n, i, o); + }), + 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 + ); + })(), + 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++ + ) + for ( + var n = t[e], + i = Physics.boxcastBroadphase(n.bounds, n.collidesWithLayers), + o = function (t) { + var e = i[t]; + if (!n.isTrigger && !e.isTrigger) return "continue"; + if (n.overlaps(e)) { + var o = new Pair(n, e); + -1 == + r._activeTriggerIntersections.findIndex(function (t) { + return t.first == o.first && t.second == o.second; + }) && + -1 == + r._previousTriggerIntersections.findIndex(function (t) { + return t.first == o.first && t.second == o.second; + }) && + r.notifyTriggerListeners(o, !0), + r._activeTriggerIntersections.contains(o) || + r._activeTriggerIntersections.push(o); + } + }, + r = this, + s = 0; + s < i.length; + s++ + ) + o(s); + 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 Collisions = (function () { + function t() {} + return ( + (t.isLineToLine = function (t, e, n, i) { + var o = Vector2.subtract(e, t), + r = Vector2.subtract(i, n), + s = o.x * r.y - o.y * r.x; + if (0 == s) return !1; + var a = Vector2.subtract(n, t), + h = (a.x * r.y - a.y * r.x) / s; + if (h < 0 || h > 1) return !1; + var c = (a.x * o.y - a.y * o.x) / s; + return !(c < 0 || c > 1); + }), + (t.lineToLineIntersection = function (t, e, n, i) { + var o = new Vector2(0, 0), + r = Vector2.subtract(e, t), + s = Vector2.subtract(i, n), + a = r.x * s.y - r.y * s.x; + if (0 == a) return o; + var h = Vector2.subtract(n, t), + c = (h.x * s.y - h.y * s.x) / a; + if (c < 0 || c > 1) return o; + var u = (h.x * r.y - h.y * r.x) / a; + return u < 0 || u > 1 + ? o + : (o = Vector2.add(t, new Vector2(c * r.x, c * r.y))); + }), + (t.closestPointOnLine = function (t, e, n) { + var i = Vector2.subtract(e, t), + o = Vector2.subtract(n, t), + r = Vector2.dot(o, i) / Vector2.dot(i, i); + return ( + (r = MathHelper.clamp(r, 0, 1)), + Vector2.add(t, new Vector2(i.x * r, i.y * r)) + ); + }), + (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 = 0.5 * t.width, + o = 0.5 * t.height, + r = Math.max(0, Math.max(e.x - t.x) - i), + s = Math.max(0, Math.max(e.y - t.y) - o); + return r * r + s * s < n * n; + }), + (t.isRectToLine = function (t, e, n) { + var i = this.getSector(t.x, t.y, t.width, t.height, e), + o = this.getSector(t.x, t.y, t.width, t.height, n); + if (i == PointSectors.center || o == PointSectors.center) return !0; + if (0 != (i & o)) return !1; + var r = i | o, + s = void 0, + a = void 0; + return ( + !( + 0 == (r & 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 == (r & 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 == (r & 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 == (r & 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, o) { + return o.x >= t && o.y >= e && o.x < t + n && o.y < e + i; + }), + (t.getSector = function (t, e, n, i, o) { + var r = PointSectors.center; + return ( + o.x < t + ? (r |= PointSectors.left) + : o.x >= t + n && (r |= PointSectors.right), + o.y < e + ? (r |= PointSectors.top) + : o.y >= e + i && (r |= PointSectors.bottom), + r + ); + }), + 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) { + return ( + void 0 === e && (e = this.allLayers), + this._spatialHash.aabbBroadphase(t, null, e) + ); + }), + (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.spatialHashCellSize = 100), + (t.allLayers = -1), + t + ); + })(), + Shape = (function () { + return function () {}; + })(), + Polygon = (function (t) { + function e(e, n) { + var i = t.call(this) || this; + return ( + (i.isUnrotated = !0), + (i._areEdgeNormalsDirty = !0), + i.setPoints(e), + (i.isBox = n), + i + ); + } + return ( + __extends(e, t), + 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 o = Vector2Ext.perpendicular(i, t); + (o = Vector2.normalize(o)), (this._edgeNormals[n] = o); + } + }), + (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.getClosestPointOnPolygonToPoint = function (t, e) { + for ( + var n, + i = Number.MAX_VALUE, + o = new Vector2(0, 0), + r = new Vector2(0, 0), + s = 0; + s < t.length; + s++ + ) { + var a = s + 1; + a == t.length && (a = 0); + var h = ShapeCollisions.closestPointOnLine(t[s], t[a], e); + if ((n = Vector2.distanceSquared(e, h)) < i) { + (i = n), (r = h); + var c = Vector2.subtract(t[a], t[s]); + (o.x = -c.y), (o.y = c.x); + } + } + return { + closestPoint: r, + distanceSquared: i, + edgeNormal: (o = Vector2.normalize(o)), + }; + }), + (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 o = 2 * Math.PI * (i / t); + n[i] = new Vector2(Math.cos(o), Math.sin(o) * e); + } + return n; + }), + (e.prototype.recalculateBounds = function (t) { + if ( + ((this.center = t.localOffset), + t.shouldColliderScaleAndRotationWithTransform) + ) { + var e = !0, + n = void 0, + i = Matrix2D.createTranslation( + -this._polygonCenter.x, + -this._polygonCenter.y + ); + if (t.entity.scale != Vector2.one) { + (n = Matrix2D.createScale(t.entity.scale.x, t.entity.scale.y)), + (i = Matrix2D.multiply(i, n)), + (e = !1); + var o = Vector2.multiply(t.localOffset, t.entity.scale); + this.center = o; + } + if (0 != t.entity.rotation) { + (n = Matrix2D.createRotation(t.entity.rotation)), + (i = Matrix2D.multiply(i, n)); + var r = + Math.atan2(t.localOffset.y, t.localOffset.x) * + MathHelper.Rad2Deg, + s = e + ? t._localOffsetLength + : Vector2.multiply(t.localOffset, t.entity.scale).length(); + this.center = MathHelper.pointOnCirlce( + Vector2.zero, + s, + MathHelper.toDegrees(t.entity.rotation) + r + ); + } + (n = Matrix2D.createTranslation( + this._polygonCenter.x, + this._polygonCenter.y + )), + (i = Matrix2D.multiply(i, n)), + Vector2Ext.transform(this._originalPoints, i, this.points), + (this.isUnrotated = 0 == t.entity.rotation), + t._isRotationDirty && (this._areEdgeNormalsDirty = !0); + } + (this.position = Vector2.add(t.entity.position, this.center)), + (this.bounds = Rectangle.rectEncompassingPoints(this.points)), + (this.bounds.location = Vector2.add( + this.bounds.location, + this.position + )); + }), + e + ); + })(Shape), + Box = (function (t) { + function e(n, i) { + var o = t.call(this, e.buildBox(n, i), !0) || this; + return (o.width = n), (o.height = i), o; + } + return ( + __extends(e, t), + (e.buildBox = function (t, e) { + var n = t / 2, + i = e / 2, + o = new Array(4); + return ( + (o[0] = new Vector2(-n, -i)), + (o[1] = new Vector2(n, -i)), + (o[2] = new Vector2(n, i)), + (o[3] = new Vector2(-n, i)), + o + ); + }), + (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 o = 0; o < this.points.length; o++) + this._originalPoints[o] = this.points[o]; + }), + (e.prototype.containsPoint = function (e) { + return this.isUnrotated + ? this.bounds.contains(e) + : t.prototype.containsPoint.call(this, e); + }), + e + ); + })(Polygon), + Circle = (function (t) { + function e(e) { + var n = t.call(this) || this; + return (n.radius = e), (n._originalRadius = e), n; + } + return ( + __extends(e, t), + (e.prototype.pointCollidesWithShape = function (t) { + return ShapeCollisions.pointToCircle(t, this); + }), + (e.prototype.collidesWithShape = function (t) { + if (t instanceof Box && t.isUnrotated) + 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.recalculateBounds = function (t) { + if ( + ((this.center = t.localOffset), + t.shouldColliderScaleAndRotationWithTransform) + ) { + var e = t.entity.scale, + n = 1 == e.x && 1 == e.y, + i = Math.max(e.x, e.y); + if ( + ((this.radius = this._originalRadius * i), 0 != t.entity.rotation) + ) { + var o = + Math.atan2(t.localOffset.y, t.localOffset.x) * + MathHelper.Rad2Deg, + r = n + ? t._localOffsetLength + : Vector2.multiply(t.localOffset, t.entity.scale).length(); + this.center = MathHelper.pointOnCirlce( + Vector2.zero, + r, + MathHelper.toDegrees(t.entity.rotation) + o + ); + } + } + (this.position = Vector2.add(t.entity.position, this.center)), + (this.bounds = new Rectangle( + this.position.x - this.radius, + this.position.y - this.radius, + 2 * this.radius, + 2 * this.radius + )); + }), + (e.prototype.overlaps = function (t) { + if (t instanceof Box && t.isUnrotated) + 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() {} + 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(), + o = !0, + r = t.edgeNormals, + s = e.edgeNormals, + a = Number.POSITIVE_INFINITY, + h = new Vector2(), + c = Vector2.subtract(t.position, e.position), + u = 0; + u < r.length + s.length; + u++ + ) { + n = u < r.length ? r[u] : s[u - r.length]; + var l = 0, + p = 0, + f = 0, + d = 0, + y = 0, + g = this.getInterval(n, t, l, f); + (l = g.min), (p = g.max); + var m = this.getInterval(n, e, p, d); + (p = m.min), (d = m.max); + var _ = Vector2.dot(c, n); + if ( + ((l += _), + (f += _), + (y = this.intervalDistance(l, f, p, d)) > 0 && (o = !1), + !o) + ) + return null; + (y = Math.abs(y)) < a && + ((a = y), (h = n), Vector2.dot(h, c) < 0 && (h = new Vector2(-h))); + } + return ( + (i.normal = h), + (i.minimumTranslationVector = Vector2.multiply( + new Vector2(-h), + 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 o = Vector2.dot(e.points[0], t); + n = i = o; + for (var r = 1; r < e.points.length; r++) + (o = Vector2.dot(e.points[r], t)) < n ? (n = o) : o > i && (i = o); + return { min: n, max: i }; + }), + (t.circleToPolygon = function (t, e) { + var n = new CollisionResult(), + i = Vector2.subtract(t.position, e.position), + o = Polygon.getClosestPointOnPolygonToPoint(e.points, i), + r = o.closestPoint, + s = o.distanceSquared; + n.normal = o.edgeNormal; + var a, + h = e.containsPoint(t.position); + if (s > t.radius * t.radius && !h) return null; + if (h) + 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 c = Math.sqrt(s); + a = Vector2.multiply( + new Vector2(-Vector2.subtract(i, r)), + new Vector2((t.radius - s) / c) + ); + } + return ( + (n.minimumTranslationVector = a), + (n.point = Vector2.add(r, 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 o = Vector2.add( + i, + Vector2.subtract(n.normal, new Vector2(t.radius)) + ); + return ( + (n.minimumTranslationVector = Vector2.subtract(t.position, o)), n + ); + } + var r = Vector2.distanceSquared(i, t.position); + if (0 == r) + n.minimumTranslationVector = Vector2.multiply( + n.normal, + new Vector2(t.radius) + ); + else if (r <= 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), + o = 1 + e.radius; + if (i < o * o) { + n.normal = Vector2.normalize(Vector2.subtract(t, e.position)); + var r = o - Math.sqrt(i); + return ( + (n.minimumTranslationVector = Vector2.multiply( + new Vector2(-r, -r), + 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), + o = Vector2.subtract(n, t), + r = Vector2.dot(o, i) / Vector2.dot(i, i); + return ( + (r = MathHelper.clamp(r, 0, 1)), + Vector2.add(t, Vector2.multiply(i, new Vector2(r, r))) + ); + }), + (t.pointToPoly = function (t, e) { + var n = new CollisionResult(); + if (e.containsPoint(t)) { + var i, + o = Polygon.getClosestPointOnPolygonToPoint( + e.points, + Vector2.subtract(t, e.position) + ), + r = o.closestPoint; + return ( + (i = o.distanceSquared), + (n.normal = o.edgeNormal), + (n.minimumTranslationVector = Vector2.multiply( + n.normal, + new Vector2(Math.sqrt(i), Math.sqrt(i)) + )), + (n.point = Vector2.add(r, e.position)), + n + ); + } + return null; + }), + (t.circleToCircle = function (t, e) { + var n = new CollisionResult(), + i = Vector2.distanceSquared(t.position, e.position), + o = t.radius + e.radius; + if (i < o * o) { + n.normal = Vector2.normalize( + Vector2.subtract(t.position, e.position) + ); + var r = o - Math.sqrt(i); + return ( + (n.minimumTranslationVector = Vector2.multiply( + new Vector2(-r), + n.normal + )), + (n.point = Vector2.add( + e.position, + Vector2.multiply(n.normal, new Vector2(e.radius)) + )), + n + ); + } + return null; + }), + t + ); + })(), + SpatialHash = (function () { + function t(t) { + void 0 === t && (t = 100), + (this.gridBounds = new Rectangle()), + (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), + o = n.x; + o <= i.x; + o++ + ) + for (var r = n.y; r <= i.y; r++) { + var s = this.cellAtPosition(o, r); + 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(new Vector2(n.x, n.y)) || + (this.gridBounds = RectangleExt.union(this.gridBounds, n)), + this.gridBounds.contains(new Vector2(i.x, i.y)) || (this.gridBounds = RectangleExt.union(this.gridBounds, i)); - for (var o = n.x; o <= i.x; o++) - for (var r = n.y; r <= i.y; r++) { - this.cellAtPosition(o, r, !0).push(t) - } - }, t.prototype.clear = function() { - this._cellDict.clear() - }, t.prototype.overlapCircle = function(t, e, n, i) { - var o = new Rectangle(t.x - e, t.y - e, 2 * e, 2 * e); - this._overlapTestCircle.radius = e, this._overlapTestCircle.position = t; - for (var r = 0, s = this.aabbBroadphase(o, null, i), a = 0; a < s.length; - a++) { - var h = s[a]; - if (!(h instanceof BoxCollider)) - throw new Error( - "overlapCircle against this collider type is not implemented!"); - if (n[r] = h, ++r == n.length) - return r - } - return r - }, t.prototype.aabbBroadphase = function(t, e, n) { - this._tempHashSet.length = 0; - for (var i = this.cellCoords(t.x, t.y), - o = this.cellCoords(t.right, t.bottom), r = i.x; - r <= o.x; r++) - for (var s = i.y; s <= o.y; s++) { - var a = this.cellAtPosition(r, s); - if (a) - for (var h = 0; h < a.length; h++) { - var c = a[h]; - c != e && Flags.isFlagSet(n, c.physicsLayer) && - (t.intersects(c.bounds) && -1 == this._tempHashSet.indexOf(c) && - this._tempHashSet.push(c)) + for (var o = n.x; o <= i.x; o++) + for (var r = n.y; r <= i.y; r++) { + this.cellAtPosition(o, r, !0).push(t); } - } - return this._tempHashSet - }, 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 Point(Math.floor(t * this._inverseCellSize), - Math.floor(e * this._inverseCellSize)) - }, 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(this.intToUint(e)).toString() - }, - t.prototype.intToUint = function(t) { return t >= 0 ? t : 4294967296 + t }, - 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 -}(), 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, o) { - var r = n.loadedAssets.get(t); - r ? i(r) - : e ? RES.getResAsync(t) - .then(function(e) { n.loadedAssets.set(t, e), i(e) }) - .catch(function( - e) { console.error("资源加载错误:", t, e), o(e) }) - : RES.getResByUrl(t) - .then(function(e) { n.loadedAssets.set(t, e), i(e) }) - .catch(function( - e) { console.error("资源加载错误:", t, e), o(e) }) - }) - }, t.prototype.dispose = function() { - this.loadedAssets.forEach(function(t) { t.dispose() }), - this.loadedAssets.clear() - }, t -}(), Emitter = function() { - function t() { this._messageTable = new Map } - return t.prototype.addObserver = function(t, e) { - var n = this._messageTable.get(t); - n || (n = [], this._messageTable.set(t, n)), - n.contains(e) && console.warn("您试图添加相同的观察者两次"), n.push(e) - }, t.prototype.removeObserver = function(t, e) { - this._messageTable.get(t).remove(e) - }, 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](e) - }, t -}(), 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 -}(), 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 -}(), 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 -}(), RectangleExt = function() { - function t() {} - return t.union = function(t, e) { - var n = new Rectangle(e.x, e.y, 0, 0); - return this.unionR(t, n) - }, t.unionR = function(t, e) { - var n = new Rectangle; - return n.x = Math.min(t.x, e.x), n.y = Math.min(t.y, e.y), - n.width = Math.max(t.right, e.right) - n.x, - n.height = Math.max(t.bottom, e.bottom) - n.y, n - }, 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 o = 0, r = 0; i > 3 && o < 500;) { - o++; - var s = !0, a = e[this._triPrev[r]], h = e[r], c = e[this._triNext[r]]; - if (Vector2Ext.isTriangleCCW(a, h, c)) { - var u = this._triNext[this._triNext[r]]; - do { - if (t.testPointTriangle(e[u], a, h, c)) { - s = !1; - break + }), + (t.prototype.clear = function () { + this._cellDict.clear(); + }), + (t.prototype.overlapCircle = function (t, e, n, i) { + var o = new Rectangle(t.x - e, t.y - e, 2 * e, 2 * e); + (this._overlapTestCircle.radius = e), + (this._overlapTestCircle.position = t); + for ( + var r = 0, s = this.aabbBroadphase(o, null, i), a = 0; + a < s.length; + a++ + ) { + var h = s[a]; + if (!(h instanceof BoxCollider)) + throw new Error( + "overlapCircle against this collider type is not implemented!" + ); + if (((n[r] = h), ++r == n.length)) return r; + } + return r; + }), + (t.prototype.aabbBroadphase = function (t, e, n) { + this._tempHashSet.length = 0; + for ( + var i = this.cellCoords(t.x, t.y), + o = this.cellCoords(t.right, t.bottom), + r = i.x; + r <= o.x; + r++ + ) + for (var s = i.y; s <= o.y; s++) { + var a = this.cellAtPosition(r, s); + if (a) + for (var h = 0; h < a.length; h++) { + var c = a[h]; + c != e && + Flags.isFlagSet(n, c.physicsLayer) && + t.intersects(c.bounds) && + -1 == this._tempHashSet.indexOf(c) && + this._tempHashSet.push(c); + } } - u = this._triNext[u] - } while (u != this._triPrev[r]) - } else - s = !1; - s ? (this.triangleIndices.push(this._triPrev[r]), - this.triangleIndices.push(r), - this.triangleIndices.push(this._triNext[r]), - this._triNext[this._triPrev[r]] = this._triNext[r], - this._triPrev[this._triNext[r]] = this._triPrev[r], i--, - r = this._triPrev[r]) - : r = this._triNext[r] + return this._tempHashSet; + }), + (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 Point( + Math.floor(t * this._inverseCellSize), + Math.floor(e * this._inverseCellSize) + ); + }), + t + ); + })(), + RaycastResultParser = (function () { + return function () {}; + })(), + NumberDictionary = (function () { + function t() { + this._store = new Map(); } - this.triangleIndices.push(this._triPrev[r]), this.triangleIndices.push(r), - this.triangleIndices.push(this._triNext[r]), - 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, o, r) { - for (var s = 0; s < r; s++) { - var a = t[e + s], h = i[o + s]; - h.x = a.x * n.m11 + a.y * n.m21 + n.m31, - h.y = a.x * n.m12 + a.y * n.m22 + n.m32, i[o + s] = h - } - }, 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 -}(); \ No newline at end of file + return ( + (t.prototype.getKey = function (t, e) { + return Long.fromNumber(t) + .shiftLeft(32) + .or(this.intToUint(e)) + .toString(); + }), + (t.prototype.intToUint = function (t) { + return t >= 0 ? t : 4294967296 + t; + }), + (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 + ); + })(), + 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, o) { + var r = n.loadedAssets.get(t); + r + ? i(r) + : e + ? RES.getResAsync(t) + .then(function (e) { + n.loadedAssets.set(t, e), i(e); + }) + .catch(function (e) { + console.error("资源加载错误:", t, e), o(e); + }) + : RES.getResByUrl(t) + .then(function (e) { + n.loadedAssets.set(t, e), i(e); + }) + .catch(function (e) { + console.error("资源加载错误:", t, e), o(e); + }); + }) + ); + }), + (t.prototype.dispose = function () { + this.loadedAssets.forEach(function (t) { + t.dispose(); + }), + this.loadedAssets.clear(); + }), + t + ); + })(), + Emitter = (function () { + function t() { + this._messageTable = new Map(); + } + return ( + (t.prototype.addObserver = function (t, e) { + var n = this._messageTable.get(t); + n || ((n = []), this._messageTable.set(t, n)), + n.contains(e) && console.warn("您试图添加相同的观察者两次"), + n.push(e); + }), + (t.prototype.removeObserver = function (t, e) { + this._messageTable.get(t).remove(e); + }), + (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](e); + }), + t + ); + })(), + 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 + ); + })(), + 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 + ); + })(), + 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 + ); + })(), + RectangleExt = (function () { + function t() {} + return ( + (t.union = function (t, e) { + var n = new Rectangle(e.x, e.y, 0, 0); + return this.unionR(t, n); + }), + (t.unionR = function (t, e) { + var n = new Rectangle(); + return ( + (n.x = Math.min(t.x, e.x)), + (n.y = Math.min(t.y, e.y)), + (n.width = Math.max(t.right, e.right) - n.x), + (n.height = Math.max(t.bottom, e.bottom) - n.y), + n + ); + }), + 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 o = 0, r = 0; i > 3 && o < 500; ) { + o++; + var s = !0, + a = e[this._triPrev[r]], + h = e[r], + c = e[this._triNext[r]]; + if (Vector2Ext.isTriangleCCW(a, h, c)) { + var u = this._triNext[this._triNext[r]]; + do { + if (t.testPointTriangle(e[u], a, h, c)) { + s = !1; + break; + } + u = this._triNext[u]; + } while (u != this._triPrev[r]); + } else s = !1; + s + ? (this.triangleIndices.push(this._triPrev[r]), + this.triangleIndices.push(r), + this.triangleIndices.push(this._triNext[r]), + (this._triNext[this._triPrev[r]] = this._triNext[r]), + (this._triPrev[this._triNext[r]] = this._triPrev[r]), + i--, + (r = this._triPrev[r])) + : (r = this._triNext[r]); + } + this.triangleIndices.push(this._triPrev[r]), + this.triangleIndices.push(r), + this.triangleIndices.push(this._triNext[r]), + 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, o, r) { + for (var s = 0; s < r; s++) { + var a = t[e + s], + h = i[o + s]; + (h.x = a.x * n.m11 + a.y * n.m21 + n.m31), + (h.y = a.x * n.m12 + a.y * n.m22 + n.m32), + (i[o + s] = h); + } + }), + (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 + ); + })();