clients now keep track of expected and actual bets for every client
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
class_name BetResult
|
||||
extends Resource
|
||||
|
||||
@export var expected: int = 0
|
||||
@export var actual: int = 0
|
||||
|
||||
func _init(
|
||||
expected: int = 0,
|
||||
actual: int = 0,
|
||||
) -> void:
|
||||
self.expected = expected
|
||||
self.actual = actual
|
||||
|
||||
func set_expected(value: int) -> void:
|
||||
self.expected = value
|
||||
|
||||
func add_win() -> void:
|
||||
self.actual += 1
|
||||
|
||||
func _to_string() -> String:
|
||||
return "BetResult(expected: {e}, actual: {a})".format({
|
||||
"e": expected,
|
||||
"a": actual,
|
||||
})
|
||||
@@ -0,0 +1 @@
|
||||
uid://c82xeik4pxj57
|
||||
@@ -38,10 +38,14 @@ signal connection_status_changed(new_status: ConnectionStatus)
|
||||
|
||||
# This signal is messy as fuck
|
||||
signal client_order_received(client_ids: Array[String], client_ids_playing_order: Array[String], client_names: Array[String])
|
||||
|
||||
signal received_expected_bet(client_id: String, expected_bet: int)
|
||||
signal new_round_started()
|
||||
signal cards_received(cards: Dictionary)
|
||||
signal trump_received(trump_id: int)
|
||||
signal received_bet_request(disallowed_bet: int)
|
||||
signal received_win()
|
||||
signal received_winning_client(client_id: String)
|
||||
signal notify_play_card_request()
|
||||
signal received_played_card(client_id: String, card_id: int)
|
||||
signal received_play_winner_request()
|
||||
@@ -130,18 +134,20 @@ func _handle_response(response: String) -> void:
|
||||
received_chat_message.emit.call_deferred(data["client_name"], data["message"])
|
||||
|
||||
"new_round_started":
|
||||
#print(data)
|
||||
if data["current_round"] == 1:
|
||||
var playing_order: Array[String] = []
|
||||
playing_order.assign(data["playing_order"])
|
||||
client_order_received.emit.call_deferred(playing_order, _connected_client_ids, _connected_client_names)
|
||||
|
||||
var received_cards = data["cards"]
|
||||
#print(received_cards)
|
||||
new_round_started.emit.call_deferred()
|
||||
cards_received.emit.call_deferred(received_cards)
|
||||
trump_received.emit.call_deferred(data["trump"])
|
||||
"client_submitted_bet":
|
||||
print(data)
|
||||
received_expected_bet.emit.call_deferred(
|
||||
data["client_id"],
|
||||
data["bet"],
|
||||
)
|
||||
"request_bet":
|
||||
received_bet_request.emit.call_deferred(data["disallowed_bet"])
|
||||
"begin_playing_cards":
|
||||
@@ -159,6 +165,7 @@ func _handle_response(response: String) -> void:
|
||||
"client_won_play":
|
||||
if data["client_id"] == _client_id:
|
||||
received_win.emit.call_deferred()
|
||||
received_winning_client.emit.call_deferred(data["client_id"])
|
||||
|
||||
func _handle_join(data) -> void:
|
||||
match data["status"]:
|
||||
|
||||
Reference in New Issue
Block a user