From 5e58cd63b6ce1087bebef2c513d89791f8613d22 Mon Sep 17 00:00:00 2001 From: Abbondanzo Date: Thu, 15 Aug 2019 00:05:40 -0400 Subject: [PATCH] Return elapsed time based on current frame --- src/eventbus/events/frame.ts | 1 + src/utils/FPSClock.ts | 12 +++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/eventbus/events/frame.ts b/src/eventbus/events/frame.ts index 1480df7..bb2cffe 100644 --- a/src/eventbus/events/frame.ts +++ b/src/eventbus/events/frame.ts @@ -6,6 +6,7 @@ import EventBus from "../EventBus" */ export interface FrameEvent { frame: number + elapsedTime: number } export const { diff --git a/src/utils/FPSClock.ts b/src/utils/FPSClock.ts index b89953f..aa2535d 100644 --- a/src/utils/FPSClock.ts +++ b/src/utils/FPSClock.ts @@ -111,6 +111,13 @@ export default class FPSClock { return delta / 1000 } + /** + * Returns the elapsed time in milliseconds. + */ + public getElapsedTime() { + return this.frameToDuration[this.currentFrame] + } + private update() { if (!this.paused) { this.getElapsedFrames() @@ -139,7 +146,10 @@ export default class FPSClock { } private doCallbacks() { - dispatchFrameEvent({ frame: this.currentFrame }) + dispatchFrameEvent({ + frame: this.currentFrame, + elapsedTime: this.getElapsedTime(), + }) } /**