| 12345678910111213141516171819202122232425 |
- extends Control
- signal finished
- func show_popup(achievements: Array) -> void:
- var idx := 0
- $Control/Panel/MarginContainer/VBoxContainer/Label.text = "NEW ACHIEVEMENT!" if achievements.size() == 1 else "NEW ACHIEVEMENTS!"
- for i in [%Icon, %Icon2, %Icon3, %Icon4]:
- i.hide()
- i.visible = achievements.size() > idx
- if idx == 3 and achievements.size() > 4:
- i.hide()
- %Extra.show()
- %Extra.text = "+" + str(achievements.size() - 3)
- if i.visible:
- i.region_rect = Rect2(AchievementContainer.ICON_RECTS[achievements[idx]] * 32, Vector2(32, 32))
- idx += 1
- %AchievementName.visible = achievements.size() == 1
- %AchievementName.text = AchievementContainer.ACHIEVEMENT_NAMES[achievements[0]]
- if %AchievementName.text.length() > 16:
- $AnimationPlayer.play("AppearLong")
- else:
- $AnimationPlayer.play("Appear")
- await $AnimationPlayer.animation_finished
- finished.emit()
|