client: cards can now be clicked
This commit is contained in:
+10
-3
@@ -16,13 +16,15 @@ extends Node3D
|
||||
|
||||
@export_range(0, 20, 0.1, "radians_as_degrees") var card_angle: float
|
||||
|
||||
var _selected_card: PlayingCard = null
|
||||
|
||||
func _ready() -> void:
|
||||
_arrange_cards()
|
||||
for i in test_card_count:
|
||||
var card: PlayingCard = card_scene.instantiate()
|
||||
card.card_clicked.connect(_on_card_clicked)
|
||||
add_card(card)
|
||||
await get_tree().create_timer(0.24).timeout
|
||||
await get_tree().create_timer(0.2).timeout
|
||||
|
||||
func add_card(card: PlayingCard) -> void:
|
||||
self.add_child(card)
|
||||
@@ -41,7 +43,6 @@ func _arrange_cards() -> void:
|
||||
var desired_width: float = (card_distance * (cards.size() - 1))
|
||||
var card_position = -desired_width / 2.0
|
||||
for card in cards:
|
||||
#card.position.x = card_position
|
||||
card.move_to(card_position)
|
||||
card_position += card_distance
|
||||
card.rotation.y = card_angle
|
||||
@@ -50,4 +51,10 @@ func _get_card_distance(card_count: int) -> float:
|
||||
return card_distance_min + ((card_distance_max - card_distance_min) * (1.0 - (float(card_count) / 19.0)))
|
||||
|
||||
func _on_card_clicked(playing_card: PlayingCard) -> void:
|
||||
pass
|
||||
if _selected_card:
|
||||
_selected_card.unselect()
|
||||
if _selected_card == playing_card:
|
||||
_selected_card = null
|
||||
else:
|
||||
_selected_card = playing_card
|
||||
playing_card.select()
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
|
||||
[node name="PlayerHand" type="Node3D"]
|
||||
script = ExtResource("1_ank64")
|
||||
test_card_count = 20
|
||||
test_card_count = 5
|
||||
card_scene = ExtResource("2_11xsc")
|
||||
card_angle = 0.125664
|
||||
|
||||
Reference in New Issue
Block a user