extends TextureRect var native_dialogic_background = true var tween func _ready(): expand = true name = 'Background' anchor_right = 1 anchor_bottom = 1 if DialogicResources.get_settings_value('dialog', 'stretch_backgrounds', true): stretch_mode = TextureRect.STRETCH_SCALE else: stretch_mode = TextureRect.STRETCH_KEEP_ASPECT_COVERED show_behind_parent = true mouse_filter = Control.MOUSE_FILTER_IGNORE func _init(): tween = Tween.new() add_child(tween) func fade_in(time = 1): modulate = Color(1, 1,1,0) tween.interpolate_property(self, "modulate", null, Color(1,1,1,1), time, Tween.TRANS_LINEAR, Tween.EASE_IN_OUT) tween.start() func fade_out(time = 1): if tween: tween.connect('tween_all_completed', self, '_on_tween_over') tween.interpolate_property(self, "modulate", Color(1,1,1,1), Color(1,1,1,0), time, Tween.TRANS_LINEAR, Tween.EASE_IN_OUT) tween.start() else: _on_tween_over() func remove_with_delay(time =1): var timer = Timer.new() timer.connect("timeout", self, "queue_free") add_child(timer) timer.start(time+0.1) func _on_tween_over(): queue_free()