Tales-of-PKMN/game/ui/hints/hints_hud.gd
2026-10-13 09:50:50 +02:00

28 lines
717 B
GDScript

extends MarginContainer
const ROW_SCENE : PackedScene = preload("res://game/ui/hints/hint_row.tscn")
@onready var rows : HBoxContainer = $HBoxContainer
var _refresh_queued : bool = false
func _ready() -> void:
Hints.changed.connect(_queue_refresh)
refresh()
func _queue_refresh() -> void:
#plusieurs changements dans la meme frame (transition d'etat + monture...) : une seule reconstruction
if _refresh_queued: return
_refresh_queued = true
refresh.call_deferred()
func refresh() -> void:
_refresh_queued = false
for c in rows.get_children():
rows.remove_child(c)
c.queue_free()
for hint in Hints.get_visible():
var row : HintRow = ROW_SCENE.instantiate()
rows.add_child(row)
row.setup(hint)