added add_cards(), which now sorts cards before drawing them to the hand
This commit is contained in:
@@ -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
@@ -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,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"]
|
||||||
|
|||||||
Reference in New Issue
Block a user