players can now only select cards during their turn
This commit is contained in:
@@ -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({
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user