extends CanvasLayer signal fade_in_done() signal fade_out_done() @onready var player := $TransitionShader/AnimationPlayer as AnimationPlayer func fade_in(): player.play(&"fade_in") func fade_out(): visible = true player.play(&"fade_out") func _on_animation_player_animation_finished(anim_name: StringName) -> void: if anim_name == "fade_in": fade_in_done.emit() visible = false elif anim_name == "fade_out": fade_out_done.emit()