# Hurry Curry! - a game about cooking # Copyright 2024 metamuffin # Copyright 2024 nokoe # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, version 3 of the License only. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # class_name Overlay extends PanelContainer const LABEL_SCALE: Vector2 = Vector2(1.5, 1.5) var failed: int = 0 var completed: int = 0 var points: int = 0 @onready var failed_label: Label = $Score/Paper/Margin/Lines/Line2/Failed @onready var completed_label: Label = $Score/Paper/Margin/Lines/Line1/Completed @onready var points_label: Label = $Score/Paper/Margin/Lines/Line3/Points @onready var timer: Timer = $Timer @onready var seconds_label: Label = $Time/Paper/Line/Seconds @onready var decimals_label: Label = $Time/Paper/Line/Decimals func update(failed_: int, completed_: int, points_: int, time: float): if failed_ - failed: failed_label.text = str(failed_) failed_label.scale = LABEL_SCALE failed = failed_ if completed_ - completed: completed_label.text = str(completed_) completed_label.scale = LABEL_SCALE completed = completed_ if points_ - points: points_label.text = str(points_) points_label.scale = LABEL_SCALE points = points_ timer.wait_time = time if timer.is_stopped(): timer.start() func set_ingame(_state: bool, lobby: bool): if lobby: hide() timer.stop() else: show() func _process(delta): failed_label.scale = G.interpolate(failed_label.scale, Vector2(1, 1), delta * 4.) completed_label.scale = G.interpolate(completed_label.scale, Vector2(1, 1), delta * 4.) points_label.scale = G.interpolate(points_label.scale, Vector2(1, 1), delta * 4.) var seconds: float = floor(timer.time_left) seconds_label.text = str(int(seconds)) decimals_label.text = "%01d" % int((timer.time_left - seconds) * 10)