extends Node @export var move_speed = 1.0 @export var tap_speed = 5.0 @export var scale_speed = 0.1 var card: Node # TODO: Figure out elastic tween transitions for bounciness. func handle_constant_tweens(delta: float) -> void: if card.dragging: move_to(card.get_global_mouse_position() - card.mouse_offset, delta) func move_to(location: Vector2, delta: float) -> void: var tween = create_tween() tween.tween_property(card, "position", location, delta * move_speed) func tap(tapped: bool, delta: float) -> void: var tween = create_tween() var rotation = 90 if tapped else 0 tween.tween_property(card, "rotation_degrees", rotation, delta * tap_speed) func scale(scalar: float) -> void: var tween = create_tween() var new_scale = Vector2.ONE * scalar tween.tween_property(card, "scale", new_scale, scale_speed) func _ready() -> void: card = get_parent()