ResGComponent.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. (function() {
  2. var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
  3. var __module = nodeEnv ? module : {exports:{}};
  4. var __filename = 'preview-scripts/assets/script/frameWork/compment/ResGComponent.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, 'e5fda17oY5Hz56+KZvDSDKA', 'ResGComponent');
  13. // script/frameWork/compment/ResGComponent.ts
  14. "use strict";
  15. var __extends = (this && this.__extends) || (function () {
  16. var extendStatics = function (d, b) {
  17. extendStatics = Object.setPrototypeOf ||
  18. ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
  19. function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
  20. return extendStatics(d, b);
  21. };
  22. return function (d, b) {
  23. extendStatics(d, b);
  24. function __() { this.constructor = d; }
  25. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  26. };
  27. })();
  28. var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
  29. var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
  30. if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
  31. else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
  32. return c > 3 && r && Object.defineProperty(target, key, r), r;
  33. };
  34. Object.defineProperty(exports, "__esModule", { value: true });
  35. var AssetsBundleMgr_1 = require("../../utils/AssetsBundleMgr");
  36. var FguiMgr_1 = require("../fgui/FguiMgr");
  37. var _a = cc._decorator, ccclass = _a.ccclass, menu = _a.menu, disallowMultiple = _a.disallowMultiple, requireComponent = _a.requireComponent;
  38. /**
  39. * fguiload组件,自动管理资源的引用计数
  40. */
  41. var ResGComponent = /** @class */ (function (_super) {
  42. __extends(ResGComponent, _super);
  43. function ResGComponent() {
  44. var _this = _super !== null && _super.apply(this, arguments) || this;
  45. _this._pkgName = null;
  46. return _this;
  47. }
  48. ResGComponent.prototype.LoadComp = function (bundleName, pkgName, resName, userClass, onComplete) {
  49. var _this = this;
  50. AssetsBundleMgr_1.default.loadBundle(bundleName, function (error, bundle) {
  51. if (error) {
  52. return;
  53. }
  54. var pkg = fgui.UIPackage.getByName(pkgName);
  55. if (pkg) {
  56. if (_this._pkgName != pkgName) {
  57. _this.addDelayRelease(_this._pkgName);
  58. FguiMgr_1.default.Instance.AddPkgCount(pkgName, 'ResGComponent');
  59. }
  60. _this._pkgName = pkgName;
  61. var obj = pkg.createObject(resName, userClass);
  62. onComplete(obj);
  63. }
  64. else {
  65. fgui.UIPackage.loadPackage(bundle, pkgName, function (error, pkg) {
  66. if (error) {
  67. return;
  68. }
  69. if (_this._pkgName != pkgName) {
  70. _this.addDelayRelease(_this._pkgName);
  71. FguiMgr_1.default.Instance.AddPkgCount(pkgName, 'ResGComponent');
  72. }
  73. _this._pkgName = pkgName;
  74. var obj = pkg.createObject(resName, userClass);
  75. onComplete(obj);
  76. });
  77. }
  78. });
  79. };
  80. ResGComponent.prototype.LoadComplete = function (url, scale, xFlip, yFlip) {
  81. };
  82. ResGComponent.prototype.onDestroy = function () {
  83. this.resetRes();
  84. };
  85. /**
  86. * 重置资源
  87. */
  88. ResGComponent.prototype.resetRes = function () {
  89. if (this._pkgName) {
  90. // this.m_Asset.decRef();
  91. this.addDelayRelease(this._pkgName);
  92. this._pkgName = null;
  93. }
  94. };
  95. /** 5秒延迟释放资源 */
  96. ResGComponent.prototype.addDelayRelease = function (pkgName) {
  97. setTimeout(function () {
  98. FguiMgr_1.default.Instance.DelPkgCount(pkgName, 'ResGComponent');
  99. }, 1000);
  100. };
  101. ResGComponent = __decorate([
  102. ccclass,
  103. disallowMultiple,
  104. requireComponent(cc.Component)
  105. ], ResGComponent);
  106. return ResGComponent;
  107. }(cc.Component));
  108. exports.default = ResGComponent;
  109. cc._RF.pop();
  110. }
  111. if (nodeEnv) {
  112. __define(__module.exports, __require, __module);
  113. }
  114. else {
  115. __quick_compile_project__.registerModuleFunc(__filename, function () {
  116. __define(__module.exports, __require, __module);
  117. });
  118. }
  119. })();
  120. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvZnJhbWVXb3JrL2NvbXBtZW50L1Jlc0dDb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0RBQTBEO0FBQzFELDJDQUFzQztBQUVoQyxJQUFBLEtBQXdELEVBQUUsQ0FBQyxVQUFVLEVBQW5FLE9BQU8sYUFBQSxFQUFFLElBQUksVUFBQSxFQUFFLGdCQUFnQixzQkFBQSxFQUFFLGdCQUFnQixzQkFBa0IsQ0FBQztBQUU1RTs7R0FFRztBQUlIO0lBQTJDLGlDQUFZO0lBQXZEO1FBQUEscUVBNERDO1FBM0RRLGNBQVEsR0FBVyxJQUFJLENBQUM7O0lBMkRqQyxDQUFDO0lBMURBLGdDQUFRLEdBQVIsVUFBUyxVQUFrQixFQUFFLE9BQWUsRUFBRSxPQUFlLEVBQUUsU0FBaUMsRUFBRSxVQUE0QztRQUE5SSxpQkE2QkM7UUE1QkEseUJBQWUsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLFVBQUMsS0FBSyxFQUFFLE1BQThCO1lBQzVFLElBQUksS0FBSyxFQUFFO2dCQUNWLE9BQU87YUFDUDtZQUNELElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVDLElBQUksR0FBRyxFQUFFO2dCQUNSLElBQUksS0FBSSxDQUFDLFFBQVEsSUFBSSxPQUFPLEVBQUU7b0JBQzdCLEtBQUksQ0FBQyxlQUFlLENBQUMsS0FBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUNwQyxpQkFBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO2lCQUN2RDtnQkFDRCxLQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztnQkFDeEIsSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQy9DLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNoQjtpQkFBTTtnQkFDTixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQUMsS0FBSyxFQUFFLEdBQW1CO29CQUN0RSxJQUFJLEtBQUssRUFBRTt3QkFDVixPQUFPO3FCQUNQO29CQUNELElBQUksS0FBSSxDQUFDLFFBQVEsSUFBSSxPQUFPLEVBQUU7d0JBQzdCLEtBQUksQ0FBQyxlQUFlLENBQUMsS0FBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUNwQyxpQkFBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO3FCQUN2RDtvQkFDRCxLQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztvQkFDeEIsSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7b0JBQy9DLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDakIsQ0FBQyxDQUFDLENBQUM7YUFDSDtRQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUdELG9DQUFZLEdBQVosVUFBYSxHQUFXLEVBQUUsS0FBYSxFQUFFLEtBQWMsRUFBRSxLQUFjO0lBRXZFLENBQUM7SUFFUyxpQ0FBUyxHQUFuQjtRQUNDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxnQ0FBUSxHQUFmO1FBQ0MsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLHlCQUF5QjtZQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUNyQjtJQUNGLENBQUM7SUFFRCxlQUFlO0lBQ0wsdUNBQWUsR0FBekIsVUFBMEIsT0FBZTtRQUN4QyxVQUFVLENBQUM7WUFDVixpQkFBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ3hELENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNWLENBQUM7SUExRG1CLGFBQWE7UUFIakMsT0FBTztRQUNQLGdCQUFnQjtRQUNoQixnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDO09BQ1YsYUFBYSxDQTREakM7SUFBRCxvQkFBQztDQTVERCxBQTREQyxDQTVEMEMsRUFBRSxDQUFDLFNBQVMsR0E0RHREO2tCQTVEb0IsYUFBYSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBBc3NldHNCdW5kbGVNZ3IgZnJvbSBcIi4uLy4uL3V0aWxzL0Fzc2V0c0J1bmRsZU1nclwiO1xuaW1wb3J0IEZndWlNZ3IgZnJvbSBcIi4uL2ZndWkvRmd1aU1nclwiO1xuXG5jb25zdCB7IGNjY2xhc3MsIG1lbnUsIGRpc2FsbG93TXVsdGlwbGUsIHJlcXVpcmVDb21wb25lbnQgfSA9IGNjLl9kZWNvcmF0b3I7XG5cbi8qKlxuICogZmd1aWxvYWTnu4Tku7bvvIzoh6rliqjnrqHnkIbotYTmupDnmoTlvJXnlKjorqHmlbBcbiAqL1xuQGNjY2xhc3NcbkBkaXNhbGxvd011bHRpcGxlXG5AcmVxdWlyZUNvbXBvbmVudChjYy5Db21wb25lbnQpXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZXNHQ29tcG9uZW50IGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcblx0cHJpdmF0ZSBfcGtnTmFtZTogc3RyaW5nID0gbnVsbDtcblx0TG9hZENvbXAoYnVuZGxlTmFtZTogc3RyaW5nLCBwa2dOYW1lOiBzdHJpbmcsIHJlc05hbWU6IHN0cmluZywgdXNlckNsYXNzOiBuZXcgKCkgPT4gZmd1aS5HT2JqZWN0LCBvbkNvbXBsZXRlOiAoY29tcDogZmFpcnlndWkuR09iamVjdCkgPT4gdm9pZCkge1xuXHRcdEFzc2V0c0J1bmRsZU1nci5sb2FkQnVuZGxlKGJ1bmRsZU5hbWUsIChlcnJvciwgYnVuZGxlOiBjYy5Bc3NldE1hbmFnZXIuQnVuZGxlKSA9PiB7XG5cdFx0XHRpZiAoZXJyb3IpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0bGV0IHBrZyA9IGZndWkuVUlQYWNrYWdlLmdldEJ5TmFtZShwa2dOYW1lKTtcblx0XHRcdGlmIChwa2cpIHtcblx0XHRcdFx0aWYgKHRoaXMuX3BrZ05hbWUgIT0gcGtnTmFtZSkge1xuXHRcdFx0XHRcdHRoaXMuYWRkRGVsYXlSZWxlYXNlKHRoaXMuX3BrZ05hbWUpO1xuXHRcdFx0XHRcdEZndWlNZ3IuSW5zdGFuY2UuQWRkUGtnQ291bnQocGtnTmFtZSwgJ1Jlc0dDb21wb25lbnQnKTtcblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLl9wa2dOYW1lID0gcGtnTmFtZTtcblx0XHRcdFx0bGV0IG9iaiA9IHBrZy5jcmVhdGVPYmplY3QocmVzTmFtZSwgdXNlckNsYXNzKTtcblx0XHRcdFx0b25Db21wbGV0ZShvYmopO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Zmd1aS5VSVBhY2thZ2UubG9hZFBhY2thZ2UoYnVuZGxlLCBwa2dOYW1lLCAoZXJyb3IsIHBrZzogZmd1aS5VSVBhY2thZ2UpID0+IHtcblx0XHRcdFx0XHRpZiAoZXJyb3IpIHtcblx0XHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aWYgKHRoaXMuX3BrZ05hbWUgIT0gcGtnTmFtZSkge1xuXHRcdFx0XHRcdFx0dGhpcy5hZGREZWxheVJlbGVhc2UodGhpcy5fcGtnTmFtZSk7XG5cdFx0XHRcdFx0XHRGZ3VpTWdyLkluc3RhbmNlLkFkZFBrZ0NvdW50KHBrZ05hbWUsICdSZXNHQ29tcG9uZW50Jyk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHRoaXMuX3BrZ05hbWUgPSBwa2dOYW1lO1xuXHRcdFx0XHRcdGxldCBvYmogPSBwa2cuY3JlYXRlT2JqZWN0KHJlc05hbWUsIHVzZXJDbGFzcyk7XG5cdFx0XHRcdFx0b25Db21wbGV0ZShvYmopO1xuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cblx0TG9hZENvbXBsZXRlKHVybDogc3RyaW5nLCBzY2FsZTogbnVtYmVyLCB4RmxpcDogYm9vbGVhbiwgeUZsaXA6IGJvb2xlYW4pIHtcblxuXHR9XG5cblx0cHJvdGVjdGVkIG9uRGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLnJlc2V0UmVzKCk7XG5cdH1cblxuXHQvKipcblx0ICog6YeN572u6LWE5rqQXG5cdCAqL1xuXHRwdWJsaWMgcmVzZXRSZXMoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuX3BrZ05hbWUpIHtcblx0XHRcdC8vIHRoaXMubV9Bc3NldC5kZWNSZWYoKTtcblx0XHRcdHRoaXMuYWRkRGVsYXlSZWxlYXNlKHRoaXMuX3BrZ05hbWUpO1xuXHRcdFx0dGhpcy5fcGtnTmFtZSA9IG51bGw7XG5cdFx0fVxuXHR9XG5cblx0LyoqIDXnp5Llu7bov5/ph4rmlL7otYTmupAgKi9cblx0cHJvdGVjdGVkIGFkZERlbGF5UmVsZWFzZShwa2dOYW1lOiBzdHJpbmcpIHtcblx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdEZndWlNZ3IuSW5zdGFuY2UuRGVsUGtnQ291bnQocGtnTmFtZSwgJ1Jlc0dDb21wb25lbnQnKTtcblx0XHR9LCAxMDAwKTtcblx0fVxuXG59XG4iXX0=