small racing game im working on
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
extends ColorRect
class_name FinishUI
@export var diff: SplitsDifference
@export var time_: Label
@export var flag: Label
@export var focus: Control
signal retry
signal next
signal quit
signal difference(diff: int)
func set_time(time: float, prev_time: float):
time_.text = GameTimer.format_precise(time)
var d := SplitsDifference.diff(time, prev_time)
if prev_time < 0 or d == SplitsDifference.Change.EQUAL:
diff.hide()
flag.text = ""
flag.vertical_alignment = VERTICAL_ALIGNMENT_TOP
difference.emit(-1 if prev_time < 0 else d)
else:
flag.vertical_alignment = VERTICAL_ALIGNMENT_BOTTOM
match d:
SplitsDifference.Change.LOSS: flag.text = ""
SplitsDifference.Change.GAIN: flag.text = ""
diff.update(time, prev_time)
difference.emit(d)
func _ready() -> void:
focus.grab_focus()
|