host client can now start round and send out shuffled cards, server can spread them to all connected clients

This commit is contained in:
2025-07-07 22:40:46 +02:00
parent 4ac3fbd962
commit 3122df893a
5 changed files with 76 additions and 14 deletions
+19 -7
View File
@@ -17,7 +17,8 @@ var cached_response: String
var _thread: Thread
var _stop_thread: bool = false
var _currently_connected_client_names: Array[String] = []
var _connected_client_ids: Array[String] = []
var _connected_client_names: Array[String] = []
signal connected_to_server()
signal connection_error_occurred()
@@ -98,20 +99,24 @@ func _handle_response(response: String) -> void:
"join_lobby_response":
_handle_join(data)
"client_joined_lobby":
_currently_connected_client_names.assign(data["connected_client_names"])
client_joined_lobby.emit.call_deferred(data["new_client_name"], _currently_connected_client_names)
print(_currently_connected_client_names)
print(data["connected_client_ids"])
_connected_client_ids.assign(data["connected_client_ids"])
_connected_client_names.assign(data["connected_client_names"])
client_joined_lobby.emit.call_deferred(data["new_client_name"], _connected_client_names)
"leave_lobby_request":
leave_lobby()
"leave_lobby":
if data["status"] == "ok":
client_left_lobby.emit.call_deferred(data["client_name"])
"client_left_lobby":
_currently_connected_client_names.assign(data["connected_client_names"])
print(_currently_connected_client_names)
client_left_lobby.emit.call_deferred(data["client_name"], _currently_connected_client_names)
_connected_client_ids.assign(data["connected_client_ids"])
_connected_client_names.assign(data["connected_client_names"])
client_left_lobby.emit.call_deferred(data["client_name"], _connected_client_names)
"receive_chat_message":
received_chat_message.emit.call_deferred(data["client_name"], data["message"])
"new_round_started":
print(data)
func _handle_join(data) -> void:
match data["status"]:
@@ -164,5 +169,12 @@ func leave_lobby() -> void:
func send_chat_message(message: String) -> void:
_send_message(TCPMessages.send_chat_message(_lobby_id, _client_id, message))
func start_game() -> void:
_send_message(JSON.stringify({
"response": "start_game",
"lobby_id": _lobby_id,
"cards": CardManager.get_shuffled_cards(_connected_client_ids, 30),
}))
func _send_message(message: String) -> void:
_socket.send_text(message)