From ab3c4cbb2e704f0625c82835123ec855019facc2 Mon Sep 17 00:00:00 2001 From: dgflash Date: Sat, 7 Jan 2023 16:40:37 +0800 Subject: [PATCH] =?UTF-8?q?TimerManager=E6=B7=BB=E5=8A=A0stop=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E5=8F=AF=E5=81=9C=E6=AD=A2=E8=AE=A1=E6=97=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/core/common/manager/TimerManager.ts | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/assets/core/common/manager/TimerManager.ts b/assets/core/common/manager/TimerManager.ts index c8b8760..601eee4 100644 --- a/assets/core/common/manager/TimerManager.ts +++ b/assets/core/common/manager/TimerManager.ts @@ -263,42 +263,35 @@ export class TimerManager extends EventDispatcher { } */ export class Timer { - /** 定时到了回调 */ callback: Function | null = null; private _elapsedTime: number = 0; - /** 逝去时间 */ get elapsedTime(): number { return this._elapsedTime; } - private _step: number = 0; - /** 获取触发间隔时间单位秒 */ + private _step: number = -1; + /** 触发间隔时间(秒) */ get step(): number { return this._step; } - /** 设置触发间隔时间单位秒 */ set step(step: number) { this._step = step; // 每次修改时间 this._elapsedTime = 0; // 逝去时间 } - /** 进度 */ get progress(): number { return this._elapsedTime / this._step; } - /** - * 构造函数 - * @param step 每跳动一次步长单位位 - */ constructor(step: number = 0) { this.step = step; } - /** 游戏引擎的cc.Component组件的update方法调用 */ update(dt: number) { + if (this.step <= 0) return false; + this._elapsedTime += dt; if (this._elapsedTime >= this._step) { @@ -309,8 +302,11 @@ export class Timer { return false; } - /** 重置 */ reset() { this._elapsedTime = 0; } + + stop() { + this.step = -1; + } } \ No newline at end of file