Skip to content

Commit 0bfa38b

Browse files
committed
feat: scoreboard update on queue change
1 parent a103d3a commit 0bfa38b

File tree

2 files changed

+19
-11
lines changed

2 files changed

+19
-11
lines changed

src/ui/button.ts

+1-11
Original file line numberDiff line numberDiff line change
@@ -38,17 +38,7 @@ export class MenuButton {
3838
const {
3939
engine,
4040
inputSystem,
41-
components: {
42-
Material,
43-
MeshRenderer,
44-
Transform,
45-
GltfContainer,
46-
PointerEvents,
47-
VisibilityComponent,
48-
Tween,
49-
TweenSequence
50-
},
51-
tweenSystem
41+
components: { Material, MeshRenderer, Transform, GltfContainer, PointerEvents, VisibilityComponent, Tween }
5242
} = getSDK()
5343

5444
this.enabled = true

src/ui/scoreboard/scoreboard.ts

+18
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { uiAssets } from '../resources'
66
import { timeStringFromMs } from '../utilities'
77
import { Column, HeaderRow, NAME_START, PLACEMENT_START, SCOREBOARD_VALUE_TYPE } from './columnData'
88
import { getSDK } from '../../sdk'
9+
import { queue } from '../..'
910

1011
type sortOrder = 'asc' | 'desc'
1112

@@ -171,6 +172,8 @@ export class ScoreBoard {
171172
frameBG: string = uiAssets.scoreboard.scoreBoardBackgroudDefault
172173
textColorMain: Color4 = Color4.Black()
173174
textColorSecondary: Color4 = Color4.fromHexString('#ff2d55ff')
175+
lastQueue = queue.getQueue()
176+
scoreboardUpdateTimer = 0
174177

175178
constructor(
176179
rootTransform: TransformTypeWithOptionals,
@@ -302,6 +305,21 @@ export class ScoreBoard {
302305

303306
//this.loadScores(scoreData, TIME_LEVEL_MOVES)
304307
void this.getScores()
308+
309+
//auto update scoreboard on queue length change
310+
311+
engine.addSystem((dt: number) => {
312+
this.scoreboardUpdateTimer += dt
313+
if (this.scoreboardUpdateTimer < 0.25) return
314+
this.scoreboardUpdateTimer = 0
315+
316+
const newQueue = queue.getQueue()
317+
if (newQueue.length !== this.lastQueue.length) {
318+
console.log('updating scoreboard')
319+
this.lastQueue = newQueue
320+
void this.getScores()
321+
}
322+
})
305323
}
306324

307325
async getScores() {

0 commit comments

Comments
 (0)