From 0bb728d76c80e2bc3ac21140d04ae07d7f1dded9 Mon Sep 17 00:00:00 2001 From: cv <34649812+cpvalente@users.noreply.github.com> Date: Sun, 31 Oct 2021 11:20:35 +0100 Subject: [PATCH] refract: broadcast state - ability to broadcast state without recalculating timer --- server/src/classes/EventTimer.js | 11 ++++++++--- server/src/classes/Timer.js | 4 ++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/server/src/classes/EventTimer.js b/server/src/classes/EventTimer.js index 1af05326a..b47d15ee5 100644 --- a/server/src/classes/EventTimer.js +++ b/server/src/classes/EventTimer.js @@ -203,8 +203,8 @@ export class EventTimer extends Timer { } // broadcast state - broadcastState() { - this.io.emit('timer', this.getObject()); + broadcastState(update = true) { + this.io.emit('timer', this.getObject(update)); this.io.emit('playstate', this.state); this.io.emit('selected', { id: this.selectedEventId, @@ -241,7 +241,12 @@ export class EventTimer extends Timer { this.current = this._finishAt - now; } else { // look for event if none is loaded - if (this.current <= 0 || this.secondaryTimer <= 0) this.rollLoad(); + if (this.current <= 0 || this.secondaryTimer <= 0) { + const newState = this.rollLoad(); + + // broadcast state without recalling timer + if (newState) this.broadcastState(false); + } } } diff --git a/server/src/classes/Timer.js b/server/src/classes/Timer.js index feacd458a..b777063fa 100644 --- a/server/src/classes/Timer.js +++ b/server/src/classes/Timer.js @@ -136,9 +136,9 @@ export class Timer { } // getObject - getObject() { + getObject(update = true) { // update timer - this.update(); + if (update) this.update(); // update timetag this.timeTag = stringFromMillis(this.current);