players can now only select cards during their turn

This commit is contained in:
2025-07-18 14:17:44 +02:00
parent aef7778a4b
commit 06652ff910
4 changed files with 15 additions and 2 deletions
+11
View File
@@ -25,6 +25,7 @@ var _is_owned: bool
var _selected_card: PlayingCard = null
var _cards_in_hand_ids: Array[int] = []
var _allow_clicking_cards: bool = false
var _trump_id: int = -1
var _first_played_card_id: int = -1
@@ -109,6 +110,9 @@ func _get_card_distance(card_count: int) -> float:
return _card_distance_min_others + ((_card_distance_max_others - _card_distance_min_others) * (1.0 - (float(card_count) / 19.0)))
func _on_card_clicked(playing_card: PlayingCard) -> void:
if not _allow_clicking_cards:
return
print("check card is " + str(_first_played_card_id))
if not _is_card_allowed(
playing_card.card_details.card_id,
@@ -139,6 +143,13 @@ func _on_play_card_button_pressed() -> void:
remove_card(_selected_card)
_selected_card = null
card_selected.emit(-1)
_allow_clicking_cards = false
func allow_clicking_cards() -> void:
_allow_clicking_cards = true
func disallow_clicking_cards() -> void:
_allow_clicking_cards = false
func display_rank(rank: int, score: int) -> void:
rank_label.text = "#{rank} ({pts} pts)".format({
-1
View File
@@ -28,7 +28,6 @@ var _own_client_id: String
@export var card_scene: PackedScene
var _bets: Dictionary[String, Array] # Array[BetResult]
## Cards played in the current play.
var _plays: Array[Play]
var _trump_id: int = -1
+2 -1
View File
@@ -143,7 +143,7 @@ size_flags_horizontal = 3
layout_mode = 2
text = "Send"
[node name="GameUI" type="Control" parent="HBoxContainer" node_paths=PackedStringArray("web_client", "start_game_button", "play_card_button", "bet_container", "bet_input", "round_label")]
[node name="GameUI" type="Control" parent="HBoxContainer" node_paths=PackedStringArray("web_client", "start_game_button", "play_card_button", "bet_container", "bet_input", "round_label", "player_hand")]
layout_mode = 2
size_flags_horizontal = 3
mouse_filter = 2
@@ -154,6 +154,7 @@ play_card_button = NodePath("PlayCardButton")
bet_container = NodePath("BetContainer")
bet_input = NodePath("BetContainer/BetInput")
round_label = NodePath("RoundLabel")
player_hand = NodePath("../../EnvironmentManager/PlayerHand0")
[node name="StartGameButton" type="Button" parent="HBoxContainer/GameUI"]
visible = false
+2
View File
@@ -7,6 +7,7 @@ extends Node
@export var bet_container: Control
@export var bet_input: LineEdit
@export var round_label: Label
@export var player_hand: PlayerHand
var _is_host: bool = false
var _current_player_count: int = 0
@@ -96,6 +97,7 @@ func _on_player_hand_0_card_played(card_id: int) -> void:
func _on_web_client_tcp_notify_play_card_request() -> void:
$Label.show()
player_hand.allow_clicking_cards()
func _on_web_client_tcp_received_win() -> void:
$WinLabel.show()