56 lines
1.6 KiB
GDScript
56 lines
1.6 KiB
GDScript
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")
|