12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- System.register(["cc"], function (_export, _context) {
- "use strict";
- var _cclegacy, Delay, _crd;
- function get_new_delay() {
- return new Delay();
- }
- _export("default", get_new_delay);
- return {
- setters: [function (_cc) {
- _cclegacy = _cc.cclegacy;
- }],
- execute: function () {
- _crd = true;
- _cclegacy._RF.push({}, "8e7b9WCurJPu4fjNX9PZbRY", "Delay", undefined);
- Delay = class Delay {
- constructor() {
- this.delays = [];
- this.paused = false;
- }
- // 创建一个新的延迟
- start(seconds) {
- var duration = seconds;
- return new Promise(resolve => {
- this.delays.push({
- duration: duration,
- elapsed: 0,
- resolve: resolve
- });
- });
- }
- pause() {
- this.paused = true;
- }
- resume() {
- this.paused = false;
- } //更新所有延迟的状态,传入更新时间间隔(秒)
- update(deltaTime) {
- if (this.paused) return;
- for (var i = this.delays.length - 1; i >= 0; i--) {
- var delay = this.delays[i];
- delay.elapsed += deltaTime; // 累加已过时间
- if (delay.elapsed >= delay.duration) {
- if (delay.resolve) {
- delay.resolve(); // 解析 Promise
- delay.resolve = null; // 清空引用
- }
- this.delays.splice(i, 1); // 从数组中移除已完成的延迟对象
- }
- }
- } //取消所有延迟
- cancelAll() {
- this.delays.forEach(delay => {
- delay.resolve = null;
- });
- this.delays = []; //清空所有延迟
- } //检查是否有活动的延迟
- isActive() {
- return this.delays.length > 0;
- }
- };
- _cclegacy._RF.pop();
- _crd = false;
- }
- };
- });
- //# sourceMappingURL=f780142056b451af1186d982a8e16130bfd276a2.js.map
|