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 card_data: Card = null
|
||||||
var is_selected: bool = false
|
var is_selected: bool = false
|
||||||
|
var _lift_tween: Tween = null
|
||||||
|
|
||||||
@onready var panel: Panel = $Panel
|
@onready var panel: Panel = $Panel
|
||||||
@onready var card_texture: TextureRect = $Panel/CardTexture
|
@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 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 SUIT_LETTER := ["S", "H", "C", "D", "SJ", "BJ"]
|
||||||
const CARD_TEXTURE_PATH := "res://assets/cards/"
|
const CARD_TEXTURE_PATH := "res://assets/cards/"
|
||||||
@@ -68,6 +71,13 @@ func set_selected(sel: bool) -> void:
|
|||||||
is_selected = sel
|
is_selected = sel
|
||||||
_update_panel()
|
_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:
|
func _on_gui_input(event: InputEvent) -> void:
|
||||||
if event is InputEventMouseButton:
|
if event is InputEventMouseButton:
|
||||||
if event.button_index == MOUSE_BUTTON_LEFT and event.pressed:
|
if event.button_index == MOUSE_BUTTON_LEFT and event.pressed:
|
||||||
|
|||||||
Reference in New Issue
Block a user