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 @export var retry: Button @export var quit: Button @export var next: Button 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()