added add_cards(), which now sorts cards before drawing them to the hand

This commit is contained in:
2025-07-15 09:09:04 +02:00
parent 8dde6a813f
commit 261e958a98
3 changed files with 21 additions and 23 deletions
+3 -2
View File
@@ -11,10 +11,8 @@ signal card_clicked(playing_card: PlayingCard)
func _enter_tree() -> void: func _enter_tree() -> void:
if card_details: if card_details:
print("yeses!")
set_front_texture(CardManager.get_card_texture(card_details.card_id)) set_front_texture(CardManager.get_card_texture(card_details.card_id))
else: else:
print("NO!")
set_front_texture(CardManager.get_card_texture(-1)) set_front_texture(CardManager.get_card_texture(-1))
func move_to(new_x_position: float) -> void: func move_to(new_x_position: float) -> void:
@@ -29,6 +27,9 @@ func unselect() -> void:
func set_front_texture(texture: Texture) -> void: func set_front_texture(texture: Texture) -> void:
card_mesh.get_surface_override_material(0).albedo_texture = texture card_mesh.get_surface_override_material(0).albedo_texture = texture
func setup_card_details(card_id: int) -> void:
self.card_details = CardManager.full_deck[card_id]
func _get_new_tween() -> Tween: func _get_new_tween() -> Tween:
var tween = create_tween() var tween = create_tween()
tween.set_trans(Tween.TRANS_BACK) tween.set_trans(Tween.TRANS_BACK)
+17 -10
View File
@@ -19,21 +19,28 @@ var _selected_card: PlayingCard = null
signal card_selected(card_id: int) signal card_selected(card_id: int)
signal card_played(card_id: int) signal card_played(card_id: int)
func _ready() -> void: #func _ready() -> void:
_arrange_cards() #_arrange_cards()
for i in test_card_count: #var test_array: Array[int]
var card: PlayingCard = card_scene.instantiate() #for i in range(20):
card.card_clicked.connect(_on_card_clicked) #test_array.append(randi_range(0, 59))
var test_details: Card = Card.new() #
test_details.card_id = randi_range(0, 59) #add_cards(test_array)
card.card_details = test_details
add_card(card)
await get_tree().create_timer(0.16).timeout
func add_card(card: PlayingCard) -> void: func add_card(card: PlayingCard) -> void:
self.add_child(card) self.add_child(card)
_arrange_cards() _arrange_cards()
func add_cards(card_ids: Array[int], client_id: String) -> void:
card_ids.sort()
for card_id in card_ids:
var card: PlayingCard = card_scene.instantiate()
if true: # if client_id == ...
card.card_clicked.connect(_on_card_clicked)
card.setup_card_details(card_id)
add_card(card)
await get_tree().create_timer(0.16).timeout
func remove_card(card: PlayingCard) -> void: func remove_card(card: PlayingCard) -> void:
self.remove_child(card) self.remove_child(card)
_arrange_cards() _arrange_cards()
+1 -11
View File
@@ -1,4 +1,4 @@
[gd_scene load_steps=9 format=3 uid="uid://gqrdpjslr4np"] [gd_scene load_steps=8 format=3 uid="uid://gqrdpjslr4np"]
[ext_resource type="Script" uid="uid://p5gvnyhjqe6o" path="res://components/web_client_tcp.gd" id="1_feb5d"] [ext_resource type="Script" uid="uid://p5gvnyhjqe6o" path="res://components/web_client_tcp.gd" id="1_feb5d"]
[ext_resource type="Script" uid="uid://c0cqkatyo4uj1" path="res://components/client_interface.gd" id="2_e2o6t"] [ext_resource type="Script" uid="uid://c0cqkatyo4uj1" path="res://components/client_interface.gd" id="2_e2o6t"]
@@ -15,9 +15,6 @@ ambient_light_source = 2
ambient_light_color = Color(1, 1, 1, 1) ambient_light_color = Color(1, 1, 1, 1)
ambient_light_energy = 0.15 ambient_light_energy = 0.15
[sub_resource type="BoxMesh" id="BoxMesh_fc0e3"]
size = Vector3(0.2, 0.2, 0.2)
[node name="Game" type="Node"] [node name="Game" type="Node"]
[node name="WebClientTCP" type="Node" parent="."] [node name="WebClientTCP" type="Node" parent="."]
@@ -206,10 +203,6 @@ player_hand_scene = ExtResource("4_fc0e3")
[node name="Camera3D" type="Camera3D" parent="EnvironmentManager"] [node name="Camera3D" type="Camera3D" parent="EnvironmentManager"]
transform = Transform3D(1, 0, 0, 0, 0.997882, 0.0650548, 0, -0.0650548, 0.997882, 0, 0.171315, 1.65638) transform = Transform3D(1, 0, 0, 0, 0.997882, 0.0650548, 0, -0.0650548, 0.997882, 0, 0.171315, 1.65638)
[node name="Label3D" type="Label3D" parent="EnvironmentManager"]
billboard = 1
text = "Magician Online!"
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="EnvironmentManager"] [node name="DirectionalLight3D" type="DirectionalLight3D" parent="EnvironmentManager"]
transform = Transform3D(0.970511, 0, 0.241058, -0.137972, 0.820002, 0.555482, -0.197668, -0.572361, 0.795821, 2.41581, 2.80426, 0) transform = Transform3D(0.970511, 0, 0.241058, -0.137972, 0.820002, 0.555482, -0.197668, -0.572361, 0.795821, 2.41581, 2.80426, 0)
@@ -219,9 +212,6 @@ environment = SubResource("Environment_fc0e3")
[node name="PlayerHand" parent="EnvironmentManager" instance=ExtResource("4_fc0e3")] [node name="PlayerHand" parent="EnvironmentManager" instance=ExtResource("4_fc0e3")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.91793) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.91793)
[node name="MeshInstance3D" type="MeshInstance3D" parent="EnvironmentManager"]
mesh = SubResource("BoxMesh_fc0e3")
[connection signal="client_joined_lobby" from="WebClientTCP" to="HBoxContainer/ClientInterface" method="_on_web_client_tcp_client_joined_lobby"] [connection signal="client_joined_lobby" from="WebClientTCP" to="HBoxContainer/ClientInterface" method="_on_web_client_tcp_client_joined_lobby"]
[connection signal="client_joined_lobby" from="WebClientTCP" to="HBoxContainer/GameUI" method="_on_web_client_tcp_client_joined_lobby"] [connection signal="client_joined_lobby" from="WebClientTCP" to="HBoxContainer/GameUI" method="_on_web_client_tcp_client_joined_lobby"]
[connection signal="client_left_lobby" from="WebClientTCP" to="HBoxContainer/ClientInterface" method="_on_web_client_tcp_client_left_lobby"] [connection signal="client_left_lobby" from="WebClientTCP" to="HBoxContainer/ClientInterface" method="_on_web_client_tcp_client_left_lobby"]