From 23ca5db700cb3061f1cb5917f976de700e033934 Mon Sep 17 00:00:00 2001 From: Fabien Freling Date: Wed, 19 Feb 2020 13:40:05 +0100 Subject: [PATCH] check internal state in _input() --- src/GameState.gd | 2 ++ src/Taquin.gd | 12 +++++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/GameState.gd b/src/GameState.gd index 5479f4d..08b93ef 100644 --- a/src/GameState.gd +++ b/src/GameState.gd @@ -19,6 +19,8 @@ func current_state_name() -> String: return State.keys()[current_state] func transition_to(state): + if current_state == state: + return assert(state in transitions[current_state]) var previous_state = current_state current_state = state diff --git a/src/Taquin.gd b/src/Taquin.gd index 5496c52..7fc1c65 100644 --- a/src/Taquin.gd +++ b/src/Taquin.gd @@ -87,6 +87,13 @@ func _ready() -> void: shuffle(difficulty) func _process(delta): + pass + +func _input(event): + if $AnimationPlayer.is_playing(): + # Disable input during animation + return + var game_state = get_node_or_null("/root/Main/GameState") as GameState if game_state != null: match game_state.current_state: @@ -97,11 +104,6 @@ func _process(delta): GameState.State.GAME_OVER: return -func _input(event): - if $AnimationPlayer.is_playing(): - # Disable input during animation - return - # # Handle keyboard input #