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=8d2f6f832292e3996ad5f7b89437c66d078418d0.js.map