ResSprite.js 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  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/ResSprite.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, 'a265cWgtmNLz5ceE6clJyg2', 'ResSprite');
  13. // script/frameWork/compment/ResSprite.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 ResBaseAsset_1 = require("./ResBaseAsset");
  36. var _a = cc._decorator, ccclass = _a.ccclass, menu = _a.menu, disallowMultiple = _a.disallowMultiple, requireComponent = _a.requireComponent;
  37. /**
  38. * 精灵组件,自动管理资源的引用计数
  39. */
  40. var ResSprite = /** @class */ (function (_super) {
  41. __extends(ResSprite, _super);
  42. function ResSprite() {
  43. var _this = _super !== null && _super.apply(this, arguments) || this;
  44. _this._sprite = null;
  45. _this.ResType = ResBaseAsset_1.EResType.SpriteFrame;
  46. return _this;
  47. }
  48. Object.defineProperty(ResSprite.prototype, "sprite", {
  49. get: function () { var _a, _b; return this._sprite || (this._sprite = ((_a = this.node) === null || _a === void 0 ? void 0 : _a.getComponent(cc.Sprite)) || ((_b = this.node) === null || _b === void 0 ? void 0 : _b.addComponent(cc.Sprite))); },
  50. enumerable: false,
  51. configurable: true
  52. });
  53. Object.defineProperty(ResSprite.prototype, "spriteFrame", {
  54. get: function () { return this.sprite.spriteFrame; },
  55. enumerable: false,
  56. configurable: true
  57. });
  58. /**
  59. * 通过 url 设置精灵
  60. * @param bundle
  61. * @param url
  62. * @param extraData
  63. * @param group 加载分组,默认为 ELoadingGroup.dft
  64. * @param priority 优先级越小,越先加载,默认为 0
  65. * @returns
  66. */
  67. ResSprite.prototype.setSpriteFrame = function (bundle, url, cb) {
  68. var _this = this;
  69. this.loadAsset(bundle, url, cc.SpriteFrame, function (asset) {
  70. if (asset && _this.sprite && _this.sprite.isValid) {
  71. _this.sprite.spriteFrame = asset;
  72. cb && cb(asset);
  73. }
  74. else {
  75. cb && cb(null);
  76. }
  77. });
  78. };
  79. /**
  80. * 不显示精灵(同时取消 spriteFrame 的设置)
  81. */
  82. ResSprite.prototype.unsetSpriteFrame = function () {
  83. this.sprite.spriteFrame = null;
  84. this.resetRes();
  85. };
  86. /**
  87. * 设置精灵的图片尺寸模式
  88. * @param sizeMode
  89. */
  90. ResSprite.prototype.setSpriteSizeMode = function (sizeMode) {
  91. this.sprite.sizeMode = sizeMode;
  92. };
  93. ResSprite = __decorate([
  94. ccclass,
  95. disallowMultiple,
  96. requireComponent(cc.Sprite),
  97. menu('UI/ResSprite')
  98. ], ResSprite);
  99. return ResSprite;
  100. }(ResBaseAsset_1.ResBaseAsset));
  101. exports.default = ResSprite;
  102. cc._RF.pop();
  103. }
  104. if (nodeEnv) {
  105. __define(__module.exports, __require, __module);
  106. }
  107. else {
  108. __quick_compile_project__.registerModuleFunc(__filename, function () {
  109. __define(__module.exports, __require, __module);
  110. });
  111. }
  112. })();
  113. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3JpcHQvZnJhbWVXb3JrL2NvbXBtZW50L1Jlc1Nwcml0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBd0Q7QUFFbEQsSUFBQSxLQUF3RCxFQUFFLENBQUMsVUFBVSxFQUFuRSxPQUFPLGFBQUEsRUFBRSxJQUFJLFVBQUEsRUFBRSxnQkFBZ0Isc0JBQUEsRUFBRSxnQkFBZ0Isc0JBQWtCLENBQUM7QUFFNUU7O0dBRUc7QUFLSDtJQUF1Qyw2QkFBNEI7SUFBbkU7UUFBQSxxRUF5Q0M7UUF4Q1EsYUFBTyxHQUFjLElBQUksQ0FBQztRQUdmLGFBQU8sR0FBYSx1QkFBUSxDQUFDLFdBQVcsQ0FBQzs7SUFxQzdELENBQUM7SUF2Q0Esc0JBQUksNkJBQU07YUFBViwwQkFBZSxPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQUEsSUFBSSxDQUFDLElBQUksMENBQUUsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLGFBQUssSUFBSSxDQUFDLElBQUksMENBQUUsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7O09BQUE7SUFDbEksc0JBQVcsa0NBQVc7YUFBdEIsY0FBMkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7OztPQUFBO0lBRzVEOzs7Ozs7OztPQVFHO0lBQ0gsa0NBQWMsR0FBZCxVQUFlLE1BQWMsRUFBRSxHQUFXLEVBQUUsRUFBb0M7UUFBaEYsaUJBU0M7UUFSQSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLFdBQVcsRUFBRSxVQUFDLEtBQXFCO1lBQ2pFLElBQUksS0FBSyxJQUFJLEtBQUksQ0FBQyxNQUFNLElBQUksS0FBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hELEtBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztnQkFDaEMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNoQjtpQkFBTTtnQkFDTixFQUFFLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2Y7UUFDRixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILG9DQUFnQixHQUFoQjtRQUNDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUMvQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7T0FHRztJQUNILHFDQUFpQixHQUFqQixVQUFrQixRQUE0QjtRQUM3QyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxRQUFrQixDQUFDO0lBQzNDLENBQUM7SUF4Q21CLFNBQVM7UUFKN0IsT0FBTztRQUNQLGdCQUFnQjtRQUNoQixnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUM7T0FDQSxTQUFTLENBeUM3QjtJQUFELGdCQUFDO0NBekNELEFBeUNDLENBekNzQywyQkFBWSxHQXlDbEQ7a0JBekNvQixTQUFTIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRVJlc1R5cGUsIFJlc0Jhc2VBc3NldCB9IGZyb20gXCIuL1Jlc0Jhc2VBc3NldFwiO1xuXG5jb25zdCB7IGNjY2xhc3MsIG1lbnUsIGRpc2FsbG93TXVsdGlwbGUsIHJlcXVpcmVDb21wb25lbnQgfSA9IGNjLl9kZWNvcmF0b3I7XG5cbi8qKlxuICog57K+54G157uE5Lu277yM6Ieq5Yqo566h55CG6LWE5rqQ55qE5byV55So6K6h5pWwXG4gKi9cbkBjY2NsYXNzXG5AZGlzYWxsb3dNdWx0aXBsZVxuQHJlcXVpcmVDb21wb25lbnQoY2MuU3ByaXRlKVxuQG1lbnUoJ1VJL1Jlc1Nwcml0ZScpXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZXNTcHJpdGUgZXh0ZW5kcyBSZXNCYXNlQXNzZXQ8Y2MuU3ByaXRlRnJhbWU+IHtcblx0cHJpdmF0ZSBfc3ByaXRlOiBjYy5TcHJpdGUgPSBudWxsO1xuXHRnZXQgc3ByaXRlKCkgeyByZXR1cm4gdGhpcy5fc3ByaXRlIHx8ICh0aGlzLl9zcHJpdGUgPSB0aGlzLm5vZGU/LmdldENvbXBvbmVudChjYy5TcHJpdGUpIHx8IHRoaXMubm9kZT8uYWRkQ29tcG9uZW50KGNjLlNwcml0ZSkpOyB9XG5cdHB1YmxpYyBnZXQgc3ByaXRlRnJhbWUoKSB7IHJldHVybiB0aGlzLnNwcml0ZS5zcHJpdGVGcmFtZTsgfVxuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgUmVzVHlwZTogRVJlc1R5cGUgPSBFUmVzVHlwZS5TcHJpdGVGcmFtZTtcblxuXHQvKipcblx0ICog6YCa6L+HIHVybCDorr7nva7nsr7ngbUgXG5cdCAqIEBwYXJhbSBidW5kbGUgXG5cdCAqIEBwYXJhbSB1cmwgXG5cdCAqIEBwYXJhbSBleHRyYURhdGEgXG5cdCAqIEBwYXJhbSBncm91cCDliqDovb3liIbnu4TvvIzpu5jorqTkuLogRUxvYWRpbmdHcm91cC5kZnRcblx0ICogQHBhcmFtIHByaW9yaXR5IOS8mOWFiOe6p+i2iuWwj++8jOi2iuWFiOWKoOi9ve+8jOm7mOiupOS4uiAwXG5cdCAqIEByZXR1cm5zIFxuXHQgKi9cblx0c2V0U3ByaXRlRnJhbWUoYnVuZGxlOiBzdHJpbmcsIHVybDogc3RyaW5nLCBjYj86IChhc3NldDogY2MuU3ByaXRlRnJhbWUpID0+IHZvaWQpIHtcblx0XHR0aGlzLmxvYWRBc3NldChidW5kbGUsIHVybCwgY2MuU3ByaXRlRnJhbWUsIChhc3NldDogY2MuU3ByaXRlRnJhbWUpID0+IHtcblx0XHRcdGlmIChhc3NldCAmJiB0aGlzLnNwcml0ZSAmJiB0aGlzLnNwcml0ZS5pc1ZhbGlkKSB7XG5cdFx0XHRcdHRoaXMuc3ByaXRlLnNwcml0ZUZyYW1lID0gYXNzZXQ7XG5cdFx0XHRcdGNiICYmIGNiKGFzc2V0KTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNiICYmIGNiKG51bGwpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIOS4jeaYvuekuueyvueBte+8iOWQjOaXtuWPlua2iCBzcHJpdGVGcmFtZSDnmoTorr7nva7vvIlcblx0ICovXG5cdHVuc2V0U3ByaXRlRnJhbWUoKTogdm9pZCB7XG5cdFx0dGhpcy5zcHJpdGUuc3ByaXRlRnJhbWUgPSBudWxsO1xuXHRcdHRoaXMucmVzZXRSZXMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiDorr7nva7nsr7ngbXnmoTlm77niYflsLrlr7jmqKHlvI9cblx0ICogQHBhcmFtIHNpemVNb2RlIFxuXHQgKi9cblx0c2V0U3ByaXRlU2l6ZU1vZGUoc2l6ZU1vZGU6IGNjLlNwcml0ZS5TaXplTW9kZSkge1xuXHRcdHRoaXMuc3ByaXRlLnNpemVNb2RlID0gc2l6ZU1vZGUgYXMgbnVtYmVyO1xuXHR9XG59XG4iXX0=