thegates/app/scripts/ui/onboarding/close_button.gd
2025-08-13 12:43:25 +07:00

34 lines
966 B
GDScript

extends Button
@export var content: Control
@export var tween_duration: float
@export var normal_modulate: Color
@export var hover_scale: float
var tween: Tween
func _ready() -> void:
mouse_entered.connect(on_mouse_entered)
mouse_exited.connect(on_mouse_exited)
on_mouse_exited()
func on_mouse_entered() -> void:
if is_instance_valid(tween): tween.stop()
tween = create_tween()
tween.set_parallel(true)
tween.set_trans(Tween.TRANS_QUAD).set_ease(Tween.EASE_OUT)
tween.tween_property(content, "scale", Vector2.ONE * hover_scale, tween_duration)
tween.tween_property(content, "modulate", Color.WHITE, tween_duration)
func on_mouse_exited() -> void:
if is_instance_valid(tween): tween.stop()
tween = create_tween()
tween.set_parallel(true)
tween.set_trans(Tween.TRANS_QUAD).set_ease(Tween.EASE_OUT)
tween.tween_property(content, "scale", Vector2.ONE, tween_duration)
tween.tween_property(content, "modulate", normal_modulate, tween_duration)