untap/scenes/card/tween.gd

36 lines
876 B
GDScript

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