extends CanvasLayer @onready var panel : PanelContainer = $Panel @onready var label : Label = $Panel/Label func _ready() -> void: panel.visible = false GameData.save_started.connect(_on_save_started) GameData.save_finished.connect(_on_save_finished) func _on_save_started() -> void: label.text = "Sauvegarde en cours..." panel.visible = true panel.modulate.a = 1.0 func _on_save_finished(success : bool) -> void: label.text = "Sauvegardé !" if success else "Échec de la sauvegarde" _fade_out() func _on_load_finished(success : bool) -> void: label.text = "Chargé !" if success else "Aucune sauvegarde" _fade_out() func _fade_out() -> void: # petit fade out après un court délai var tween := create_tween() tween.tween_interval(0.8) tween.tween_property(panel, "modulate:a", 0.0, 0.3) tween.tween_callback(func() -> void: panel.visible = false)