System.register(["__unresolved_0", "cc", "__unresolved_1"], function (_export, _context) { "use strict"; var _reporterNs, _cclegacy, __checkObsolete__, __checkObsoleteInNamespace__, _decorator, LabelNumber, _dec, _dec2, _class, _class2, _descriptor, _crd, ccclass, property, menu, LabelChange; function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); } function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; } function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'transform-class-properties is enabled and runs after the decorators transform.'); } function _reportPossibleCrUseOfLabelNumber(extras) { _reporterNs.report("LabelNumber", "./LabelNumber", _context.meta, extras); } return { setters: [function (_unresolved_) { _reporterNs = _unresolved_; }, function (_cc) { _cclegacy = _cc.cclegacy; __checkObsolete__ = _cc.__checkObsolete__; __checkObsoleteInNamespace__ = _cc.__checkObsoleteInNamespace__; _decorator = _cc._decorator; }, function (_unresolved_2) { LabelNumber = _unresolved_2.default; }], execute: function () { _crd = true; _cclegacy._RF.push({}, "fff0fLwVNhNe59VirWTCPFJ", "LabelChange", undefined); /* * @Author: dgflash * @Date: 2022-04-14 17:08:01 * @LastEditors: dgflash * @LastEditTime: 2023-08-11 10:00:51 */ __checkObsolete__(['_decorator']); ({ ccclass, property, menu } = _decorator); /** 数值变化动画标签组件 */ _export("LabelChange", LabelChange = (_dec = ccclass("LabelChange"), _dec2 = menu('OopsFramework/Label/LabelChange (数值变化动画标签)'), _dec(_class = _dec2(_class = (_class2 = class LabelChange extends (_crd && LabelNumber === void 0 ? (_reportPossibleCrUseOfLabelNumber({ error: Error() }), LabelNumber) : LabelNumber) { constructor() { super(...arguments); _initializerDefineProperty(this, "isInteger", _descriptor, this); this.duration = 0; // 持续时间 this.callback = void 0; // 完成回调 this.isBegin = false; // 是否开始 this.speed = 0; // 变化速度 this.end = 0; } // 最终值 /** * 变化到某值,如果从当前开始的begin传入null * @param {number} duration * @param {number} end * @param {Function} [callback] */ changeTo(duration, end, callback) { if (duration == 0) { if (callback) callback(); return; } this.playAnim(duration, this.num, end, callback); } /** * 变化值,如果从当前开始的begin传入null * @param {number} duration * @param {number} value * @param {Function} [callback] * @memberof LabelChange */ changeBy(duration, value, callback) { if (duration == 0) { if (callback) callback(); return; } this.playAnim(duration, this.num, this.num + value, callback); } /** 立刻停止 */ stop(excCallback) { if (excCallback === void 0) { excCallback = true; } this.num = this.end; this.isBegin = false; if (excCallback && this.callback) this.callback(); } /** 播放动画 */ playAnim(duration, begin, end, callback) { this.duration = duration; this.end = end; this.callback = callback; this.speed = (end - begin) / duration; this.num = begin; this.isBegin = true; } /** 是否已经结束 */ isEnd(num) { if (this.speed > 0) { return num >= this.end; } else { return num <= this.end; } } update(dt) { if (this.isBegin) { if (this.num == this.end) { this.isBegin = false; if (this.callback) this.callback(); return; } var num = this.num + dt * this.speed; if (this.isInteger) { if (this.end < this.num) { num = Math.floor(num); } else { num = Math.ceil(num); } } /** 变化完成 */ if (this.isEnd(num)) { num = this.end; this.isBegin = false; if (this.callback) this.callback(); } this.num = num; } } }, (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "isInteger", [property], { configurable: true, enumerable: true, writable: true, initializer: function initializer() { return false; } })), _class2)) || _class) || _class)); _cclegacy._RF.pop(); _crd = false; } }; }); //# sourceMappingURL=7d2db19650ec9e2dc4b1d2fa3962916ae5a5bf11.js.map