NumMap.js 8.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. (function() {
  2. var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
  3. var __module = nodeEnv ? module : {exports:{}};
  4. var __filename = 'preview-scripts/assets/script/Collections/NumMap.js';
  5. var __require = nodeEnv ? function (request) {
  6. return cc.require(request);
  7. } : function (request) {
  8. return __quick_compile_project__.require(request, __filename);
  9. };
  10. function __define (exports, require, module) {
  11. if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict";
  12. cc._RF.push(module, '9a9f1tvPC1Nupoww2a/jacC', 'NumMap');
  13. // script/Collections/NumMap.ts
  14. "use strict";
  15. Object.defineProperty(exports, "__esModule", { value: true });
  16. exports.NumMap = void 0;
  17. var NumMap = /** @class */ (function () {
  18. function NumMap() {
  19. this.items = {};
  20. this.count = 0;
  21. }
  22. NumMap.prototype.Count = function () {
  23. return this.count;
  24. };
  25. NumMap.prototype.Add = function (key, value) {
  26. if (!this.items.hasOwnProperty(key.toString()))
  27. this.count++;
  28. this.items[key] = value;
  29. return value;
  30. };
  31. NumMap.prototype.Remove = function (key) {
  32. var val = this.items[key];
  33. delete this.items[key];
  34. this.count--;
  35. return val;
  36. };
  37. NumMap.prototype.ContainsKey = function (key) {
  38. return this.items.hasOwnProperty(key.toString());
  39. };
  40. NumMap.prototype.Value = function (key) {
  41. return this.items[key];
  42. };
  43. NumMap.prototype.Replace = function (key, value) {
  44. if (this.ContainsKey(key)) {
  45. this.items[key] = value;
  46. return true;
  47. }
  48. return false;
  49. };
  50. NumMap.prototype.Keys = function () {
  51. var keys = [];
  52. for (var prop in this.items) {
  53. if (this.items.hasOwnProperty(prop)) {
  54. keys.push(Number(prop));
  55. }
  56. }
  57. return keys;
  58. };
  59. NumMap.prototype.Values = function () {
  60. var values = [];
  61. for (var prop in this.items) {
  62. if (this.items.hasOwnProperty(prop)) {
  63. values.push(this.items[prop]);
  64. }
  65. }
  66. return values;
  67. };
  68. NumMap.prototype.Foreach = function (callback, thisArg) {
  69. if (callback) {
  70. for (var prop in this.items) {
  71. var key = Number(prop);
  72. callback.call(thisArg, key, this.items[prop]);
  73. }
  74. }
  75. };
  76. NumMap.prototype.Clear = function () {
  77. this.items = {};
  78. this.count = 0;
  79. };
  80. return NumMap;
  81. }());
  82. exports.NumMap = NumMap;
  83. cc._RF.pop();
  84. }
  85. if (nodeEnv) {
  86. __define(__module.exports, __require, __module);
  87. }
  88. else {
  89. __quick_compile_project__.registerModuleFunc(__filename, function () {
  90. __define(__module.exports, __require, __module);
  91. });
  92. }
  93. })();
  94. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvQ29sbGVjdGlvbnMvTnVtTWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBO0lBQUE7UUFDWSxVQUFLLEdBQTJCLEVBQUUsQ0FBQztRQUVuQyxVQUFLLEdBQVcsQ0FBQyxDQUFDO0lBNkU5QixDQUFDO0lBM0VVLHNCQUFLLEdBQVo7UUFDSSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVNLG9CQUFHLEdBQVYsVUFBVyxHQUFXLEVBQUUsS0FBUTtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVqQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUN4QixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBR00sdUJBQU0sR0FBYixVQUFjLEdBQVc7UUFDckIsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBR00sNEJBQVcsR0FBbEIsVUFBbUIsR0FBVztRQUMxQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFHTSxzQkFBSyxHQUFaLFVBQWEsR0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUdNLHdCQUFPLEdBQWQsVUFBZSxHQUFXLEVBQUUsS0FBUTtRQUNoQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDeEIsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFHTSxxQkFBSSxHQUFYO1FBQ0ksSUFBSSxJQUFJLEdBQWEsRUFBRSxDQUFDO1FBQ3hCLEtBQUssSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUN6QixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQzNCO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sdUJBQU0sR0FBYjtRQUNJLElBQUksTUFBTSxHQUFRLEVBQUUsQ0FBQztRQUNyQixLQUFLLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDekIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDakMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDakM7U0FDSjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFHTSx3QkFBTyxHQUFkLFVBQWUsUUFBcUMsRUFBRSxPQUFhO1FBQy9ELElBQUksUUFBUSxFQUFFO1lBQ1YsS0FBSyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUN6QixJQUFJLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3ZCLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDakQ7U0FDSjtJQUNMLENBQUM7SUFHTSxzQkFBSyxHQUFaO1FBQ0ksSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUNMLGFBQUM7QUFBRCxDQWhGQSxBQWdGQyxJQUFBO0FBaEZZLHdCQUFNIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9yZWFjaE1hcEFjdGlvbiwgSU1hcCB9IGZyb20gXCIuL0lNYXBcIjtcblxuZXhwb3J0IGNsYXNzIE51bU1hcDxUPiBpbXBsZW1lbnRzIElNYXA8bnVtYmVyLCBUPntcbiAgICBwcml2YXRlIGl0ZW1zOiB7IFtpbmRleDogbnVtYmVyXTogVCB9ID0ge307XG5cbiAgICBwcml2YXRlIGNvdW50OiBudW1iZXIgPSAwO1xuXG4gICAgcHVibGljIENvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvdW50O1xuICAgIH1cblxuICAgIHB1YmxpYyBBZGQoa2V5OiBudW1iZXIsIHZhbHVlOiBUKTogVCB7XG4gICAgICAgIGlmICghdGhpcy5pdGVtcy5oYXNPd25Qcm9wZXJ0eShrZXkudG9TdHJpbmcoKSkpXG4gICAgICAgICAgICB0aGlzLmNvdW50Kys7XG5cbiAgICAgICAgdGhpcy5pdGVtc1trZXldID0gdmFsdWU7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cblxuICAgIHB1YmxpYyBSZW1vdmUoa2V5OiBudW1iZXIpOiBUIHtcbiAgICAgICAgdmFyIHZhbCA9IHRoaXMuaXRlbXNba2V5XTtcbiAgICAgICAgZGVsZXRlIHRoaXMuaXRlbXNba2V5XTtcbiAgICAgICAgdGhpcy5jb3VudC0tO1xuICAgICAgICByZXR1cm4gdmFsO1xuICAgIH1cblxuXG4gICAgcHVibGljIENvbnRhaW5zS2V5KGtleTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zLmhhc093blByb3BlcnR5KGtleS50b1N0cmluZygpKTtcbiAgICB9XG5cblxuICAgIHB1YmxpYyBWYWx1ZShrZXk6IG51bWJlcik6IFQge1xuICAgICAgICByZXR1cm4gdGhpcy5pdGVtc1trZXldO1xuICAgIH1cblxuXG4gICAgcHVibGljIFJlcGxhY2Uoa2V5OiBudW1iZXIsIHZhbHVlOiBUKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLkNvbnRhaW5zS2V5KGtleSkpIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbXNba2V5XSA9IHZhbHVlO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuXG4gICAgcHVibGljIEtleXMoKTogbnVtYmVyW10ge1xuICAgICAgICB2YXIga2V5czogbnVtYmVyW10gPSBbXTtcbiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiB0aGlzLml0ZW1zKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pdGVtcy5oYXNPd25Qcm9wZXJ0eShwcm9wKSkge1xuICAgICAgICAgICAgICAgIGtleXMucHVzaChOdW1iZXIocHJvcCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBrZXlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBWYWx1ZXMoKTogVFtdIHtcbiAgICAgICAgdmFyIHZhbHVlczogVFtdID0gW107XG4gICAgICAgIGZvciAodmFyIHByb3AgaW4gdGhpcy5pdGVtcykge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXRlbXMuaGFzT3duUHJvcGVydHkocHJvcCkpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZXMucHVzaCh0aGlzLml0ZW1zW3Byb3BdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWVzO1xuICAgIH1cblxuXG4gICAgcHVibGljIEZvcmVhY2goY2FsbGJhY2s6IEZvcmVhY2hNYXBBY3Rpb248bnVtYmVyLCBUPiwgdGhpc0FyZz86IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gdGhpcy5pdGVtcykge1xuICAgICAgICAgICAgICAgIHZhciBrZXkgPSBOdW1iZXIocHJvcCk7XG4gICAgICAgICAgICAgICAgY2FsbGJhY2suY2FsbCh0aGlzQXJnLCBrZXksIHRoaXMuaXRlbXNbcHJvcF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBwdWJsaWMgQ2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbXMgPSB7fTtcbiAgICAgICAgdGhpcy5jb3VudCA9IDA7XG4gICAgfVxufSJdfQ==