AgatheOs/typed_letter.gd
2025-12-24 19:38:23 +01:00

28 lines
673 B
GDScript

class_name TypedLetter
extends Control
@onready var label: Label = $Label
var letter_size := Vector2.ZERO
func _ready() ->void:
pass
func get_width() -> float:
return letter_size.x
func add_label(text: String) -> void:
label.text = text
letter_size = label.get_theme_font("font").get_string_size(label.text, HORIZONTAL_ALIGNMENT_LEFT, -1, label.get_theme_font_size("font_size"))
label.pivot_offset = letter_size / 2
$AnimationPlayer.play("spawn")
$AudioStreamPlayer.pitch_scale = randf_range(0.7, 1.7)
$AudioStreamPlayer.play()
func delete_label() -> void:
$AudioStreamPlayer2.play()
$AnimationPlayer.play("delete")
func on_delete() -> void:
queue_free()