diff options
Diffstat (limited to 'client/menu/rating/rating.gd')
| -rw-r--r-- | client/menu/rating/rating.gd | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/client/menu/rating/rating.gd b/client/menu/rating/rating.gd new file mode 100644 index 00000000..faa0ba59 --- /dev/null +++ b/client/menu/rating/rating.gd @@ -0,0 +1,37 @@ +extends Menu + +const PARTICLE_AMOUNTS = [0, 6, 32, 128] + +@onready var title: Label = $MarginContainer/PanelContainer/VBoxContainer/Text/Title +@onready var subtitle: Label = $MarginContainer/PanelContainer/VBoxContainer/Text/Subtitle +@onready var stars = $MarginContainer/PanelContainer/VBoxContainer/Stars.get_children() +@onready var star_timer = $StarTimer +@onready var particles = $MarginContainer/PanelContainer/Particles + +func _ready(): + super() + show_rating(data[0], data[1]) + +func show_rating(stars_: int, points: int): + match stars_: + 0: title.text = tr("Poor service") + 1: title.text = tr("Acceptable service") + 2: title.text = tr("Good service") + 3: title.text = tr("Excellent service") + + subtitle.text = tr("You collected %s points") % points + + for i in range(0, stars_): + var star: TextureRect = stars[i] + star_timer.start() + await star_timer.timeout + star.material.set_shader_parameter("t", 1) + star.get_node("Sound").play() + + particles.amount = PARTICLE_AMOUNTS[stars_] + + if stars_ > 0: + particles.emitting = true + +func _on_close_pressed(): + exit() |