extends CanvasLayer signal fade_finished func fade_in(time: float = NAN, reverse: bool = false, color: Color = Color.black) -> void: var rect = $TextureRect rect.material.set_shader_param("color", color) rect.material.set_shader_param("reverse", reverse) $AnimationPlayer.play("FadeIn", -1, 1.0 / time) func fade_out(time: float = NAN, reverse: bool = false, color: Color = Color.black) -> void: var rect = $TextureRect rect.material.set_shader_param("color", color) rect.material.set_shader_param("reverse", reverse) $AnimationPlayer.play("FadeOut", -1, 1.0 / time) func _fade_finished(anim_name) -> void: emit_signal("fade_finished")