SingletonFactory.js 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. (function() {
  2. var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
  3. var __module = nodeEnv ? module : {exports:{}};
  4. var __filename = 'preview-scripts/assets/script/utils/SingletonFactory.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, '9397cX/vA9FY40I/muXYjSY', 'SingletonFactory');
  13. // script/utils/SingletonFactory.ts
  14. "use strict";
  15. Object.defineProperty(exports, "__esModule", { value: true });
  16. exports.SingletonFactory = void 0;
  17. /**
  18. * 单例工厂
  19. */
  20. var SingletonFactory = /** @class */ (function () {
  21. function SingletonFactory() {
  22. }
  23. SingletonFactory.getInstance = function (c) {
  24. if (!SingletonFactory.instances.has(c)) {
  25. var obj = new c();
  26. SingletonFactory.instances.set(c, obj);
  27. return obj;
  28. }
  29. return SingletonFactory.instances.get(c);
  30. };
  31. SingletonFactory.instances = new Map();
  32. return SingletonFactory;
  33. }());
  34. exports.SingletonFactory = SingletonFactory;
  35. cc._RF.pop();
  36. }
  37. if (nodeEnv) {
  38. __define(__module.exports, __require, __module);
  39. }
  40. else {
  41. __quick_compile_project__.registerModuleFunc(__filename, function () {
  42. __define(__module.exports, __require, __module);
  43. });
  44. }
  45. })();
  46. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvdXRpbHMvU2luZ2xldG9uRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQTs7R0FFRztBQUNIO0lBQUE7SUFZQSxDQUFDO0lBUmlCLDRCQUFXLEdBQXpCLFVBQTZCLENBQWU7UUFDeEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDcEMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNsQixnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN2QyxPQUFPLEdBQUcsQ0FBQztTQUNkO1FBQ0QsT0FBVSxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFUYywwQkFBUyxHQUEyQixJQUFJLEdBQUcsRUFBcUIsQ0FBQztJQVVwRix1QkFBQztDQVpELEFBWUMsSUFBQTtBQVpZLDRDQUFnQiIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIlxuLyoqXG4gKiDljZXkvovlt6XljoJcbiAqL1xuZXhwb3J0IGNsYXNzIFNpbmdsZXRvbkZhY3Rvcnkge1xuXG4gICAgcHJpdmF0ZSBzdGF0aWMgaW5zdGFuY2VzOiBNYXA8eyBuZXcoKSB9LCBPYmplY3Q+ID0gbmV3IE1hcDx7IG5ldygpIH0sIE9iamVjdD4oKTtcblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0SW5zdGFuY2U8VD4oYzogeyBuZXcoKTogVCB9KTogVCB7XG4gICAgICAgIGlmICghU2luZ2xldG9uRmFjdG9yeS5pbnN0YW5jZXMuaGFzKGMpKSB7XG4gICAgICAgICAgICBsZXQgb2JqID0gbmV3IGMoKTtcbiAgICAgICAgICAgIFNpbmdsZXRvbkZhY3RvcnkuaW5zdGFuY2VzLnNldChjLCBvYmopO1xuICAgICAgICAgICAgcmV0dXJuIG9iajtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gPFQ+U2luZ2xldG9uRmFjdG9yeS5pbnN0YW5jZXMuZ2V0KGMpO1xuICAgIH1cbn0iXX0=