extends Control export(String) var choice_name = "" export(String) var dilemma_name = "" export(float) var deferred_show = 0 onready var tween = $Tween onready var hover_tween = $HoverTween onready var timer = $Timer onready var container = $VBoxContainer onready var choice_label = $VBoxContainer/ChoiceLabel onready var dilemma_label = $VBoxContainer/DilemmaLabel onready var texture = $VBoxContainer/TextureRect onready var button = $TextureButton func _ready(): button.connect("mouse_entered", self, '_on_mouse_entered') button.connect("mouse_exited", self, '_on_mouse_exited') button.connect("pressed", self, '_on_button_pressed') container.hide() choice_label.text = choice_name dilemma_label.text = dilemma_name tween.interpolate_property(container, "rect_scale", Vector2(0, 0), Vector2(1, 1), 1, Tween.TRANS_ELASTIC, Tween.EASE_IN_OUT) tween.interpolate_property(container, "rect_position", Vector2(75, 75), Vector2(0, 0), 1, Tween.TRANS_ELASTIC, Tween.EASE_IN_OUT) if deferred_show > 0: timer.wait_time = deferred_show timer.start() else: start_anim() func start_anim(): container.rect_scale = Vector2(0, 0) container.rect_position = Vector2(75, 75) container.show() tween.start() func _on_Timer_timeout(): start_anim() func _on_mouse_exited(): hover_tween.interpolate_property(texture, "modulate", null, Color(1, 1, 1, 1), 0.3, Tween.TRANS_CUBIC, Tween.EASE_IN_OUT) hover_tween.start() func _on_mouse_entered(): hover_tween.interpolate_property(texture, "modulate", null, Color("#615ea4"), 0.3, Tween.TRANS_CUBIC, Tween.EASE_IN_OUT) hover_tween.start() func _on_button_pressed(): print("pressed")