From 4051aba7a30e9d7ab8981df03127938a8bf46550 Mon Sep 17 00:00:00 2001 From: Cake Date: Tue, 16 Jan 2024 07:53:09 +0100 Subject: [PATCH 1/5] Fix incorrect Auto-Advance flag being disabled. --- addons/dialogic/Modules/Core/subsystem_input.gd | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/dialogic/Modules/Core/subsystem_input.gd b/addons/dialogic/Modules/Core/subsystem_input.gd index 4f0102489..401f99c61 100644 --- a/addons/dialogic/Modules/Core/subsystem_input.gd +++ b/addons/dialogic/Modules/Core/subsystem_input.gd @@ -41,15 +41,15 @@ func resume() -> void: ####### MAIN METHODS ########################################################### #region MAIN METHODS -func handle_input(): +func handle_input() -> void: if dialogic.paused or is_input_blocked(): return - if !action_was_consumed: + if not action_was_consumed: # We want to stop auto-advancing that cancels on user inputs. if (auto_advance.is_enabled() and auto_advance.enabled_until_user_input): - auto_advance.enabled_until_next_event = false + auto_advance.enabled_until_user_input = false action_was_consumed = true # We want to stop auto-skipping if it's enabled, we are listening From 7e0afb6cd37edba181f3e3698acb00012c6d9a10 Mon Sep 17 00:00:00 2001 From: Cake Date: Tue, 16 Jan 2024 07:55:26 +0100 Subject: [PATCH 2/5] Add missing double newline between methods. --- addons/dialogic/Modules/Text/auto_advance.gd | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/dialogic/Modules/Text/auto_advance.gd b/addons/dialogic/Modules/Text/auto_advance.gd index e783c3fbf..11e4e6d64 100644 --- a/addons/dialogic/Modules/Text/auto_advance.gd +++ b/addons/dialogic/Modules/Text/auto_advance.gd @@ -68,6 +68,7 @@ var enabled_until_user_input := false : enabled_until_user_input = enabled _try_emit_toggled() + func _init() -> void: DialogicUtil.autoload().Input.add_child(autoadvance_timer) autoadvance_timer.one_shot = true From 4b663f7906b1ff59689d1a7ef872eb041035cf1d Mon Sep 17 00:00:00 2001 From: Cake Date: Tue, 16 Jan 2024 07:55:45 +0100 Subject: [PATCH 3/5] Add tests for Auto-Advance. --- .../dialogic/Tests/Unit/test_auto_advance.gd | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 addons/dialogic/Tests/Unit/test_auto_advance.gd diff --git a/addons/dialogic/Tests/Unit/test_auto_advance.gd b/addons/dialogic/Tests/Unit/test_auto_advance.gd new file mode 100644 index 000000000..23f7ce27f --- /dev/null +++ b/addons/dialogic/Tests/Unit/test_auto_advance.gd @@ -0,0 +1,20 @@ +class_name AutoAdvanceTest +extends GdUnitTestSuite + +## Ensure Auto-Advance is enabled properly using the user input flag. +func test_enable_auto_advance() -> void: + Dialogic.Input.auto_advance.enabled_until_user_input = true + var is_enabled: bool = Dialogic.Input.auto_advance.is_enabled() + + assert(is_enabled == true, "Auto-Advance is not enabled.") + + +## This test was created to ensure a bug was fixed: +## When the user enabled the Auto-Advance until user input, +## the Auto-Advance would still run after the user input. +func test_disable_auto_advance() -> void: + Dialogic.Input.auto_advance.enabled_until_user_input = true + Dialogic.Input.handle_input() + + var is_enabled: bool = Dialogic.Input.auto_advance.is_enabled() + assert(is_enabled == false, "Auto-Advance is still running after input") From 41e1faaefd9c3f008037c2f7241585e89de8fa04 Mon Sep 17 00:00:00 2001 From: Cake Date: Tue, 16 Jan 2024 08:02:01 +0100 Subject: [PATCH 4/5] Add `[autoload]` to the project file. --- .github/workflows/resources/project.godot | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/resources/project.godot b/.github/workflows/resources/project.godot index a9cee2ceb..7a40c37f9 100644 --- a/.github/workflows/resources/project.godot +++ b/.github/workflows/resources/project.godot @@ -18,3 +18,7 @@ config/icon="res://icon.svg" renderer/rendering_method="gl_compatibility" renderer/rendering_method.mobile="gl_compatibility" + +[autoload] + +Dialogic="*res://addons/dialogic/Other/DialogicGameHandler.gd" From f7c9729450e78077674b018e461ee92de57b4c1d Mon Sep 17 00:00:00 2001 From: Cake Date: Tue, 16 Jan 2024 09:55:28 +0100 Subject: [PATCH 5/5] Remove `class_name` from unit tests. --- addons/dialogic/Tests/Unit/test_auto_advance.gd | 1 - addons/dialogic/Tests/Unit/test_example.gd | 1 - 2 files changed, 2 deletions(-) diff --git a/addons/dialogic/Tests/Unit/test_auto_advance.gd b/addons/dialogic/Tests/Unit/test_auto_advance.gd index 23f7ce27f..8c616ef0d 100644 --- a/addons/dialogic/Tests/Unit/test_auto_advance.gd +++ b/addons/dialogic/Tests/Unit/test_auto_advance.gd @@ -1,4 +1,3 @@ -class_name AutoAdvanceTest extends GdUnitTestSuite ## Ensure Auto-Advance is enabled properly using the user input flag. diff --git a/addons/dialogic/Tests/Unit/test_example.gd b/addons/dialogic/Tests/Unit/test_example.gd index 9f51c8753..1fbc97c4f 100644 --- a/addons/dialogic/Tests/Unit/test_example.gd +++ b/addons/dialogic/Tests/Unit/test_example.gd @@ -1,4 +1,3 @@ -class_name GdUnitExampleTest extends GdUnitTestSuite func test_example() -> void: