From abd24e3af1f462616046e52d92e29103dbbca076 Mon Sep 17 00:00:00 2001 From: Justin Johnson Date: Tue, 28 Dec 2021 16:38:31 -0700 Subject: [PATCH] Typings for gametime https://github.com/profexorgeek/frostflake/issues/24 --- src/Utility/GameTime.ts | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/src/Utility/GameTime.ts b/src/Utility/GameTime.ts index 44a4423..1476196 100644 --- a/src/Utility/GameTime.ts +++ b/src/Utility/GameTime.ts @@ -4,29 +4,25 @@ export default class GameTime { // frames before the GameTime will reset the delta // to zero. Prevents runaway game behavior if major // hiccups happen - static MAX_FRAME_DELTA = 500; - static FPS_SAMPLES = 120; + static readonly MAX_FRAME_DELTA: number = 500; + static readonly FPS_SAMPLES: number = 120; - startTime; - lastFrameTime; - frameSeconds; - gameTimeSeconds; - recentFrames = []; + startTime: Date = new Date(); + lastFrameTime: Date = new Date(); + frameSeconds: number = 0; + gameTimeSeconds: number = 0; + recentFrames: Array = []; constructor() { - this.startTime = new Date(); - this.lastFrameTime = new Date(); - this.frameSeconds = 0; - this.gameTimeSeconds = 0; + } - update() { - let lastFrame = this.lastFrameTime.getTime(); - let currentFrame = new Date(); - let frameDelta = currentFrame.getTime() - lastFrame; + update(): void { + const lastFrame = this.lastFrameTime.getTime(); + const currentFrame = new Date(); + const frameDelta = currentFrame.getTime() - lastFrame; if(frameDelta < GameTime.MAX_FRAME_DELTA) { - // convert delta (milliseconds) into seconds this.frameSeconds = frameDelta / 1000; } @@ -43,8 +39,8 @@ export default class GameTime { } } - aveFps() { - let ave = 0; + aveFps(): number { + let ave: number = 0; for(let i = 0; i < this.recentFrames.length; i++) { ave += this.recentFrames[i]; }