feat(ui): lift selected card 25px with tween animation
This commit is contained in:
@@ -6,10 +6,13 @@ signal card_double_clicked(card_node: CardNode)
|
||||
|
||||
var card_data: Card = null
|
||||
var is_selected: bool = false
|
||||
var _lift_tween: Tween = null
|
||||
|
||||
@onready var panel: Panel = $Panel
|
||||
@onready var card_texture: TextureRect = $Panel/CardTexture
|
||||
|
||||
const LIFT_OFFSET := -25.0
|
||||
const LIFT_DURATION := 0.12
|
||||
const RANK_PREFIX := ["", "", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "SJ", "BJ"]
|
||||
const SUIT_LETTER := ["S", "H", "C", "D", "SJ", "BJ"]
|
||||
const CARD_TEXTURE_PATH := "res://assets/cards/"
|
||||
@@ -68,6 +71,13 @@ func set_selected(sel: bool) -> void:
|
||||
is_selected = sel
|
||||
_update_panel()
|
||||
|
||||
if _lift_tween and _lift_tween.is_valid():
|
||||
_lift_tween.kill()
|
||||
_lift_tween = create_tween()
|
||||
_lift_tween.set_trans(Tween.TRANS_QUAD)
|
||||
_lift_tween.set_ease(Tween.EASE_OUT)
|
||||
_lift_tween.tween_property(self, "position:y", LIFT_OFFSET if sel else 0.0, LIFT_DURATION)
|
||||
|
||||
func _on_gui_input(event: InputEvent) -> void:
|
||||
if event is InputEventMouseButton:
|
||||
if event.button_index == MOUSE_BUTTON_LEFT and event.pressed:
|
||||
|
||||
Reference in New Issue
Block a user