(function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; var __filename = 'preview-scripts/assets/script/Collections/List.js'; var __require = nodeEnv ? function (request) { return cc.require(request); } : function (request) { return __quick_compile_project__.require(request, __filename); }; function __define (exports, require, module) { if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; cc._RF.push(module, 'ba12cpXZdhEg5GpgSjDTVhb', 'List'); // script/Collections/List.ts "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.List = void 0; /** * List容器 */ var List = /** @class */ (function () { function List(array) { if (array) this._items = array; else this._items = []; } Object.defineProperty(List.prototype, "Count", { /** * 数量(属性) */ get: function () { return this._items.length; }, enumerable: false, configurable: true }); /** * 添加 * @param item Item */ List.prototype.Add = function (item) { this._items.push(item); }; /** * 移除 * @param item Item * @returns 是否移除成功 */ List.prototype.Remove = function (item) { for (var i = 0, j = this._items.length; i < j; i++) { if (this._items[i] === item) { this._items.splice(i, 1); return true; } } return false; }; /** * 从索引处移除 * @param index 索引 * @returns 是否移除成功 */ List.prototype.RemoveAt = function (index) { if (index < 0 || index >= this._items.length) { return false; } this._items.splice(index, 1); return true; }; /** * 包含 * @param item Item * @returns True: 包含; False: 未包含 */ List.prototype.Contains = function (item) { for (var i = 0, j = this._items.length; i < j; i++) { if (this._items[i] === item) { return true; } } return false; }; /** * 排序 * @param comparer 比较器 */ List.prototype.Sort = function (comparer) { this._items.sort(comparer); }; /** * 获取下标(不存在返回-1) * @param item Item * @returns 下标 */ List.prototype.IndexOf = function (item) { for (var i = 0, j = this._items.length; i < j; i++) { if (this._items[i] === item) { return i; } } return -1; }; /** * 索引器 * @param index 索引 * @returns Item */ List.prototype.GetItem = function (index) { return this._items[index]; }; /** * 迭代器 * @param callback 回调 */ List.prototype.Foreach = function (callback, thisArg) { if (callback) { this._items.forEach(function (value, index, _) { callback.call(thisArg, value, index); }); } }; /** * 过滤 * @param predicate * @returns 过滤后新的List */ List.prototype.Filter = function (predicate) { return new List(this._items.filter(predicate)); }; /** * 清理 */ List.prototype.Clear = function () { this._items = []; }; return List; }()); exports.List = List; cc._RF.pop(); } if (nodeEnv) { __define(__module.exports, __require, __module); } else { __quick_compile_project__.registerModuleFunc(__filename, function () { __define(__module.exports, __require, __module); }); } })(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvQ29sbGVjdGlvbnMvTGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7R0FFRztBQUNIO0lBSUksY0FBWSxLQUFXO1FBQ25CLElBQUksS0FBSztZQUNMLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDOztZQUVwQixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBS0Qsc0JBQVcsdUJBQUs7UUFIaEI7O1dBRUc7YUFDSCxjQUFxQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQzs7O09BQUE7SUFHakQ7OztPQUdHO0lBQ0ksa0JBQUcsR0FBVixVQUFXLElBQU87UUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBR0Q7Ozs7T0FJRztJQUNJLHFCQUFNLEdBQWIsVUFBYyxJQUFPO1FBQ2pCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2hELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDekIsT0FBTyxJQUFJLENBQUM7YUFDZjtTQUNKO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSx1QkFBUSxHQUFmLFVBQWdCLEtBQWE7UUFDekIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUMxQyxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLHVCQUFRLEdBQWYsVUFBZ0IsSUFBTztRQUNuQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNoRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUN6QixPQUFPLElBQUksQ0FBQzthQUNmO1NBQ0o7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBR0Q7OztPQUdHO0lBQ0ksbUJBQUksR0FBWCxVQUFZLFFBQWlDO1FBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFHRDs7OztPQUlHO0lBQ0ksc0JBQU8sR0FBZCxVQUFlLElBQU87UUFDbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDaEQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDekIsT0FBTyxDQUFDLENBQUM7YUFDWjtTQUNKO1FBQ0QsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNkLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksc0JBQU8sR0FBZCxVQUFlLEtBQWE7UUFDeEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFHRDs7O09BR0c7SUFDSSxzQkFBTyxHQUFkLFVBQWUsUUFBMEMsRUFBRSxPQUFhO1FBQ3BFLElBQUksUUFBUSxFQUFFO1lBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBQyxLQUFRLEVBQUUsS0FBYSxFQUFFLENBQU07Z0JBQ2hELFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN6QyxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxxQkFBTSxHQUFiLFVBQWMsU0FBMkQ7UUFDckUsT0FBTyxJQUFJLElBQUksQ0FBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO0lBQ3JELENBQUM7SUFHRDs7T0FFRztJQUNJLG9CQUFLLEdBQVo7UUFDSSxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBQ0wsV0FBQztBQUFELENBbElBLEFBa0lDLElBQUE7QUFsSVksb0JBQUkiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIExpc3TlrrnlmahcbiAqL1xuZXhwb3J0IGNsYXNzIExpc3Q8VD4ge1xuXG4gICAgcHJpdmF0ZSBfaXRlbXM6IFRbXTtcblxuICAgIGNvbnN0cnVjdG9yKGFycmF5PzogVFtdKSB7XG4gICAgICAgIGlmIChhcnJheSlcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1zID0gYXJyYXk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1zID0gW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5pWw6YePKOWxnuaApylcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IENvdW50KCkgeyByZXR1cm4gdGhpcy5faXRlbXMubGVuZ3RoOyB9XG5cblxuICAgIC8qKlxuICAgICAqIOa3u+WKoFxuICAgICAqIEBwYXJhbSBpdGVtIEl0ZW1cbiAgICAgKi9cbiAgICBwdWJsaWMgQWRkKGl0ZW06IFQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXRlbXMucHVzaChpdGVtKTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIOenu+mZpFxuICAgICAqIEBwYXJhbSBpdGVtIEl0ZW1cbiAgICAgKiBAcmV0dXJucyDmmK/lkKbnp7vpmaTmiJDlip9cbiAgICAgKi9cbiAgICBwdWJsaWMgUmVtb3ZlKGl0ZW06IFQpOiBib29sZWFuIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIGogPSB0aGlzLl9pdGVtcy5sZW5ndGg7IGkgPCBqOyBpKyspIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9pdGVtc1tpXSA9PT0gaXRlbSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2l0ZW1zLnNwbGljZShpLCAxKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5LuO57Si5byV5aSE56e76ZmkXG4gICAgICogQHBhcmFtIGluZGV4IOe0ouW8lVxuICAgICAqIEByZXR1cm5zIOaYr+WQpuenu+mZpOaIkOWKn1xuICAgICAqL1xuICAgIHB1YmxpYyBSZW1vdmVBdChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChpbmRleCA8IDAgfHwgaW5kZXggPj0gdGhpcy5faXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faXRlbXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5YyF5ZCrXG4gICAgICogQHBhcmFtIGl0ZW0gSXRlbVxuICAgICAqIEByZXR1cm5zIFRydWU6IOWMheWQqzsgRmFsc2U6IOacquWMheWQq1xuICAgICAqL1xuICAgIHB1YmxpYyBDb250YWlucyhpdGVtOiBUKTogYm9vbGVhbiB7XG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBqID0gdGhpcy5faXRlbXMubGVuZ3RoOyBpIDwgajsgaSsrKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5faXRlbXNbaV0gPT09IGl0ZW0pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG5cbiAgICAvKipcbiAgICAgKiDmjpLluo9cbiAgICAgKiBAcGFyYW0gY29tcGFyZXIg5q+U6L6D5ZmoXG4gICAgICovXG4gICAgcHVibGljIFNvcnQoY29tcGFyZXI/OiAoYTogVCwgYjogVCkgPT4gbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2l0ZW1zLnNvcnQoY29tcGFyZXIpO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICog6I635Y+W5LiL5qCHKOS4jeWtmOWcqOi/lOWbni0xKVxuICAgICAqIEBwYXJhbSBpdGVtIEl0ZW1cbiAgICAgKiBAcmV0dXJucyDkuIvmoIdcbiAgICAgKi9cbiAgICBwdWJsaWMgSW5kZXhPZihpdGVtOiBUKTogbnVtYmVyIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIGogPSB0aGlzLl9pdGVtcy5sZW5ndGg7IGkgPCBqOyBpKyspIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9pdGVtc1tpXSA9PT0gaXRlbSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiAtMTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDntKLlvJXlmahcbiAgICAgKiBAcGFyYW0gaW5kZXgg57Si5byVXG4gICAgICogQHJldHVybnMgSXRlbVxuICAgICAqL1xuICAgIHB1YmxpYyBHZXRJdGVtKGluZGV4OiBudW1iZXIpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1zW2luZGV4XTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIOi/reS7o+WZqFxuICAgICAqIEBwYXJhbSBjYWxsYmFjayDlm57osINcbiAgICAgKi9cbiAgICBwdWJsaWMgRm9yZWFjaChjYWxsYmFjazogKGl0ZW06IFQsIGluZGV4OiBudW1iZXIpID0+IHZvaWQsIHRoaXNBcmc/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgICAgICB0aGlzLl9pdGVtcy5mb3JFYWNoKCh2YWx1ZTogVCwgaW5kZXg6IG51bWJlciwgXzogVFtdKSA9PiB7XG4gICAgICAgICAgICAgICAgY2FsbGJhY2suY2FsbCh0aGlzQXJnLCB2YWx1ZSwgaW5kZXgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDov4fmu6RcbiAgICAgKiBAcGFyYW0gcHJlZGljYXRlIFxuICAgICAqIEByZXR1cm5zIOi/h+a7pOWQjuaWsOeahExpc3Q8VD5cbiAgICAgKi9cbiAgICBwdWJsaWMgRmlsdGVyKHByZWRpY2F0ZTogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyLCBhcnJheTogVFtdKSA9PiB1bmtub3duKTogTGlzdDxUPiB7XG4gICAgICAgIHJldHVybiBuZXcgTGlzdDxUPih0aGlzLl9pdGVtcy5maWx0ZXIocHJlZGljYXRlKSlcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIOa4heeQhlxuICAgICAqL1xuICAgIHB1YmxpYyBDbGVhcigpIHtcbiAgICAgICAgdGhpcy5faXRlbXMgPSBbXTtcbiAgICB9XG59Il19