pir-serious-game-ethics/scenes/end-screen/ChoiceCircle.gd

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")