fixed host client not receiving their id
This commit is contained in:
@@ -98,6 +98,7 @@ func _handle_response(response: String) -> void:
|
|||||||
if data["status"] == "ok":
|
if data["status"] == "ok":
|
||||||
_lobby_id = data["lobby_id"]
|
_lobby_id = data["lobby_id"]
|
||||||
_client_id = data["client_id"]
|
_client_id = data["client_id"]
|
||||||
|
received_client_id.emit.call_deferred(_client_id)
|
||||||
connected_to_lobby.emit.call_deferred(_lobby_id)
|
connected_to_lobby.emit.call_deferred(_lobby_id)
|
||||||
connection_status_changed.emit.call_deferred(ConnectionStatus.JOINED)
|
connection_status_changed.emit.call_deferred(ConnectionStatus.JOINED)
|
||||||
"join_lobby_response":
|
"join_lobby_response":
|
||||||
|
|||||||
+53
-3
@@ -1,16 +1,66 @@
|
|||||||
class_name EnvironmentManager
|
class_name EnvironmentManager
|
||||||
extends Node3D
|
extends Node3D
|
||||||
|
|
||||||
var player_hands: Dictionary[int, PlayerHandAssociation]
|
# In gameplay order
|
||||||
|
var hand_associations: Dictionary[int, PlayerHandAssociation]
|
||||||
var _own_client_id: String
|
var _own_client_id: String
|
||||||
@export var own_player_hand: PlayerHand
|
@export var own_player_hand: PlayerHand
|
||||||
|
|
||||||
|
## Positions for hands in 3-player game (starting from player 2).
|
||||||
|
@export var hand_markers_3: Array[Marker3D]
|
||||||
|
|
||||||
|
## Positions for hands in 4-player game (starting from player 2).
|
||||||
|
@export var hand_markers_4: Array[Marker3D]
|
||||||
|
|
||||||
|
## Positions for hands in 5-player game (starting from player 2).
|
||||||
|
@export var hand_markers_5: Array[Marker3D]
|
||||||
|
|
||||||
|
## Positions for hands in 6-player game (starting from player 2).
|
||||||
|
@export var hand_markers_6: Array[Marker3D]
|
||||||
|
|
||||||
@export var player_hand_scene: PackedScene
|
@export var player_hand_scene: PackedScene
|
||||||
|
|
||||||
func _on_web_client_tcp_client_order_received(client_ids: Array[String]) -> void:
|
func _on_web_client_tcp_client_order_received(client_ids: Array[String]) -> void:
|
||||||
|
var marker_positions: Array[Marker3D]
|
||||||
|
match client_ids.size():
|
||||||
|
3:
|
||||||
|
marker_positions = hand_markers_3
|
||||||
|
4:
|
||||||
|
marker_positions = hand_markers_4
|
||||||
|
5:
|
||||||
|
marker_positions = hand_markers_5
|
||||||
|
6:
|
||||||
|
marker_positions = hand_markers_6
|
||||||
|
|
||||||
|
var own_index: int = client_ids.find(_own_client_id)
|
||||||
|
|
||||||
|
var new_ids: Array[String]
|
||||||
|
if own_index == 0:
|
||||||
|
print("ïndex was 0 " + _own_client_id)
|
||||||
|
# no change necessary!
|
||||||
|
new_ids = client_ids
|
||||||
|
elif own_index == client_ids.size() - 1:
|
||||||
|
print("index was last " + _own_client_id)
|
||||||
|
# you are at the end of the array
|
||||||
|
new_ids = client_ids
|
||||||
|
# take away own client id
|
||||||
|
new_ids.erase(_own_client_id)
|
||||||
|
# add it to the start of the array
|
||||||
|
new_ids.insert(0, _own_client_id)
|
||||||
|
else:
|
||||||
|
print("index was middle " + _own_client_id)
|
||||||
|
# you are somewhere in the middle of the array
|
||||||
|
# create array with you at the start
|
||||||
|
new_ids = client_ids.slice(own_index)
|
||||||
|
# add the rest of the original array
|
||||||
|
new_ids.append_array(client_ids.slice(0, own_index))
|
||||||
|
|
||||||
|
print("playing order! -- !")
|
||||||
|
print(new_ids)
|
||||||
|
|
||||||
for index in client_ids.size():
|
for index in client_ids.size():
|
||||||
if client_ids[index] == _own_client_id:
|
if client_ids[index] == _own_client_id:
|
||||||
player_hands[index] = PlayerHandAssociation.new(
|
hand_associations[index] = PlayerHandAssociation.new(
|
||||||
_own_client_id,
|
_own_client_id,
|
||||||
own_player_hand.get_path(),
|
own_player_hand.get_path(),
|
||||||
)
|
)
|
||||||
@@ -19,7 +69,7 @@ func _on_web_client_tcp_client_order_received(client_ids: Array[String]) -> void
|
|||||||
|
|
||||||
# TODO
|
# TODO
|
||||||
self.add_child(hand) # needs position!
|
self.add_child(hand) # needs position!
|
||||||
player_hands[index] = PlayerHandAssociation.new(
|
hand_associations[index] = PlayerHandAssociation.new(
|
||||||
client_ids[index],
|
client_ids[index],
|
||||||
hand.get_path(),
|
hand.get_path(),
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -196,9 +196,13 @@ layout_mode = 2
|
|||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "submit bet"
|
text = "submit bet"
|
||||||
|
|
||||||
[node name="EnvironmentManager" type="Node3D" parent="." node_paths=PackedStringArray("own_player_hand")]
|
[node name="EnvironmentManager" type="Node3D" parent="." node_paths=PackedStringArray("own_player_hand", "hand_markers_3", "hand_markers_4", "hand_markers_5", "hand_markers_6")]
|
||||||
script = ExtResource("4_7jktm")
|
script = ExtResource("4_7jktm")
|
||||||
own_player_hand = NodePath("PlayerHand")
|
own_player_hand = NodePath("PlayerHand0")
|
||||||
|
hand_markers_3 = [NodePath("HandMarker1"), NodePath("HandMarker2")]
|
||||||
|
hand_markers_4 = [NodePath("HandMarker1"), NodePath("HandMarker3"), NodePath("HandMarker2")]
|
||||||
|
hand_markers_5 = [NodePath("HandMarker4"), NodePath("HandMarker1"), NodePath("HandMarker3"), NodePath("HandMarker2")]
|
||||||
|
hand_markers_6 = [NodePath("HandMarker4"), NodePath("HandMarker1"), NodePath("HandMarker3"), NodePath("HandMarker2"), NodePath("HandMarker5")]
|
||||||
player_hand_scene = ExtResource("4_fc0e3")
|
player_hand_scene = ExtResource("4_fc0e3")
|
||||||
|
|
||||||
[node name="Camera3D" type="Camera3D" parent="EnvironmentManager"]
|
[node name="Camera3D" type="Camera3D" parent="EnvironmentManager"]
|
||||||
@@ -211,26 +215,26 @@ transform = Transform3D(0.970511, 0, 0.241058, -0.137972, 0.820002, 0.555482, -0
|
|||||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="EnvironmentManager"]
|
[node name="WorldEnvironment" type="WorldEnvironment" parent="EnvironmentManager"]
|
||||||
environment = SubResource("Environment_fc0e3")
|
environment = SubResource("Environment_fc0e3")
|
||||||
|
|
||||||
[node name="PlayerHand" parent="EnvironmentManager" instance=ExtResource("4_fc0e3")]
|
[node name="PlayerHand0" parent="EnvironmentManager" instance=ExtResource("4_fc0e3")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 2.6)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 2.6)
|
||||||
|
|
||||||
[node name="Table" parent="EnvironmentManager" instance=ExtResource("7_eow3j")]
|
[node name="HandMarker1" type="Marker3D" parent="EnvironmentManager"]
|
||||||
|
|
||||||
[node name="PlayerHand2" parent="EnvironmentManager" instance=ExtResource("4_fc0e3")]
|
|
||||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0.4, -2.40681)
|
|
||||||
|
|
||||||
[node name="PlayerHand3" parent="EnvironmentManager" instance=ExtResource("4_fc0e3")]
|
|
||||||
transform = Transform3D(-0.906308, 0, -0.422618, 0, 1, 0, 0.422618, 0, -0.906308, -1.8, 0.4, -1.861)
|
transform = Transform3D(-0.906308, 0, -0.422618, 0, 1, 0, 0.422618, 0, -0.906308, -1.8, 0.4, -1.861)
|
||||||
|
|
||||||
[node name="PlayerHand4" parent="EnvironmentManager" instance=ExtResource("4_fc0e3")]
|
[node name="HandMarker2" type="Marker3D" parent="EnvironmentManager"]
|
||||||
transform = Transform3D(-0.906308, 0, 0.422618, 0, 1, 0, -0.422618, 0, -0.906308, 1.8, 0.4, -1.861)
|
transform = Transform3D(-0.906308, 0, 0.422618, 0, 1, 0, -0.422618, 0, -0.906308, 1.8, 0.4, -1.861)
|
||||||
|
|
||||||
[node name="PlayerHand5" parent="EnvironmentManager" instance=ExtResource("4_fc0e3")]
|
[node name="HandMarker3" type="Marker3D" parent="EnvironmentManager"]
|
||||||
|
transform = Transform3D(-1, 0, -1.50996e-07, 0, 1, 0, 1.50996e-07, 0, -1, 0, 0.4, -2.40681)
|
||||||
|
|
||||||
|
[node name="HandMarker4" type="Marker3D" parent="EnvironmentManager"]
|
||||||
transform = Transform3D(-0.5, 0, -0.866025, 0, 1, 0, 0.866025, 0, -0.5, -3.2, 0.4, -0.406)
|
transform = Transform3D(-0.5, 0, -0.866025, 0, 1, 0, 0.866025, 0, -0.5, -3.2, 0.4, -0.406)
|
||||||
|
|
||||||
[node name="PlayerHand6" parent="EnvironmentManager" instance=ExtResource("4_fc0e3")]
|
[node name="HandMarker5" type="Marker3D" parent="EnvironmentManager"]
|
||||||
transform = Transform3D(-0.5, 0, 0.866025, 0, 1, 0, -0.866025, 0, -0.5, 3.2, 0.4, -0.406)
|
transform = Transform3D(-0.5, 0, 0.866025, 0, 1, 0, -0.866025, 0, -0.5, 3.2, 0.4, -0.406)
|
||||||
|
|
||||||
|
[node name="Table" parent="EnvironmentManager" instance=ExtResource("7_eow3j")]
|
||||||
|
|
||||||
[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"]
|
||||||
@@ -253,11 +257,6 @@ transform = Transform3D(-0.5, 0, 0.866025, 0, 1, 0, -0.866025, 0, -0.5, 3.2, 0.4
|
|||||||
[connection signal="pressed" from="HBoxContainer/ClientInterface/MarginContainer/VBoxContainer/ServerInputs/LeaveLobbyButton" to="HBoxContainer/ClientInterface" method="_on_disconnect_lobby_button_pressed"]
|
[connection signal="pressed" from="HBoxContainer/ClientInterface/MarginContainer/VBoxContainer/ServerInputs/LeaveLobbyButton" to="HBoxContainer/ClientInterface" method="_on_disconnect_lobby_button_pressed"]
|
||||||
[connection signal="pressed" from="HBoxContainer/ClientInterface/MarginContainer/VBoxContainer/ChatContainer/SendMessageButton" to="HBoxContainer/ClientInterface" method="_on_send_message_button_pressed"]
|
[connection signal="pressed" from="HBoxContainer/ClientInterface/MarginContainer/VBoxContainer/ChatContainer/SendMessageButton" to="HBoxContainer/ClientInterface" method="_on_send_message_button_pressed"]
|
||||||
[connection signal="pressed" from="HBoxContainer/GameUI/StartGameButton" to="HBoxContainer/GameUI" method="_on_start_game_button_pressed"]
|
[connection signal="pressed" from="HBoxContainer/GameUI/StartGameButton" to="HBoxContainer/GameUI" method="_on_start_game_button_pressed"]
|
||||||
[connection signal="pressed" from="HBoxContainer/GameUI/PlayCardButton" to="EnvironmentManager/PlayerHand" method="_on_play_card_button_pressed"]
|
[connection signal="pressed" from="HBoxContainer/GameUI/PlayCardButton" to="EnvironmentManager/PlayerHand0" method="_on_play_card_button_pressed"]
|
||||||
[connection signal="pressed" from="HBoxContainer/GameUI/BetContainer/SubmitBetButton" to="HBoxContainer/GameUI" method="_on_submit_bet_button_pressed"]
|
[connection signal="pressed" from="HBoxContainer/GameUI/BetContainer/SubmitBetButton" to="HBoxContainer/GameUI" method="_on_submit_bet_button_pressed"]
|
||||||
[connection signal="card_selected" from="EnvironmentManager/PlayerHand" to="HBoxContainer/GameUI" method="_on_player_hand_card_selected"]
|
[connection signal="card_selected" from="EnvironmentManager/PlayerHand0" to="HBoxContainer/GameUI" method="_on_player_hand_card_selected"]
|
||||||
[connection signal="card_selected" from="EnvironmentManager/PlayerHand2" to="HBoxContainer/GameUI" method="_on_player_hand_card_selected"]
|
|
||||||
[connection signal="card_selected" from="EnvironmentManager/PlayerHand3" to="HBoxContainer/GameUI" method="_on_player_hand_card_selected"]
|
|
||||||
[connection signal="card_selected" from="EnvironmentManager/PlayerHand4" to="HBoxContainer/GameUI" method="_on_player_hand_card_selected"]
|
|
||||||
[connection signal="card_selected" from="EnvironmentManager/PlayerHand5" to="HBoxContainer/GameUI" method="_on_player_hand_card_selected"]
|
|
||||||
[connection signal="card_selected" from="EnvironmentManager/PlayerHand6" to="HBoxContainer/GameUI" method="_on_player_hand_card_selected"]
|
|
||||||
|
|||||||
Reference in New Issue
Block a user