123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- (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<T>
- */
- 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
|