From 551c820d5ec807ddf63f655e2c1b4119ee831ff5 Mon Sep 17 00:00:00 2001 From: Yogi Wiguna Date: Wed, 25 Feb 2026 17:04:25 +0800 Subject: [PATCH] feat: implement a player movement manager handling grid-based movement, rotation, and push interactions. --- scripts/managers/player_movement_manager.gd | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/scripts/managers/player_movement_manager.gd b/scripts/managers/player_movement_manager.gd index 6eb7cc5..1e1777b 100644 --- a/scripts/managers/player_movement_manager.gd +++ b/scripts/managers/player_movement_manager.gd @@ -62,6 +62,11 @@ func simple_move_to(grid_position: Vector2i) -> bool: print("[Move] Failed: Player is frozen") return false + # BLOCK MOVEMENT IF MATCH NOT ACTIVE (Countdown) + var main = player.get_tree().root.get_node_or_null("Main") + if main and main.goals_cycle_manager and not main.goals_cycle_manager.is_match_active: + return false + var distance: int if use_diagonal_movement: @@ -248,6 +253,11 @@ func move_to_clicked_position(grid_position: Vector2i) -> bool: # Check if player is frozen if player.get("is_frozen") or player.get("is_stop_frozen"): return false + + # BLOCK MOVEMENT IF MATCH NOT ACTIVE (Countdown) + var main = player.get_tree().root.get_node_or_null("Main") + if main and main.goals_cycle_manager and not main.goals_cycle_manager.is_match_active: + return false # Validate grid position is within bounds if not enhanced_gridmap.is_position_valid(grid_position):