From ad0085a06859a9909dce9ef1a8dd7f3b1923a5e0 Mon Sep 17 00:00:00 2001 From: adtpdn Date: Thu, 10 Apr 2025 16:17:36 +0800 Subject: [PATCH] update the files, prep for fixing obstacles --- assets/obstacle_example.png | Bin 0 -> 4481 bytes scenes/player.gd | 23 ++++++++++++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) create mode 100644 assets/obstacle_example.png diff --git a/assets/obstacle_example.png b/assets/obstacle_example.png new file mode 100644 index 0000000000000000000000000000000000000000..4ee19ec4cb958245390c540221c68190aa4cfebc GIT binary patch literal 4481 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 X+gARQOiY&n0 bool: @@ -1187,8 +1198,12 @@ func sync_playerboard(new_playerboard: Array): _after_action_completed() func _after_action_completed(): + # Guard against recursive calls + if _is_processing_action: + return + _is_processing_action = true - # Clear the highlights after placing the tiles. ( Quickfix for Clientside ) + # Clear the highlights after placing the tiles. (Quickfix for Clientside) clear_highlights() if multiplayer.get_unique_id() == get_multiplayer_authority(): @@ -1209,6 +1224,8 @@ func _after_action_completed(): # Add sync for playerboard if is_multiplayer_authority(): main.rpc("sync_playerboard", get_multiplayer_authority(), playerboard) + + _is_processing_action = false func consume_action_points(points: int): if not is_instance_valid(self) or not is_multiplayer_authority(): @@ -1227,7 +1244,7 @@ func consume_action_points(points: int): if action_points <= 0: if main.turn_based_mode: - main.request_end_turn() + main.request_next_turn() else: action_points = 2 has_performed_action = false