From 12fbc28f66576662b4c2d4a527c3f4715598bb0d Mon Sep 17 00:00:00 2001 From: Rob Kelly Date: Thu, 10 Jul 2025 17:56:33 -0600 Subject: [PATCH] Avoid extraneous settings writes from tutorial activation --- .../tutorial_manager/tutorial_manager_type.gd | 11 ++++++----- src/props/retinal_scanner/retinal_scanner.gd | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/game/tutorial/tutorial_manager/tutorial_manager_type.gd b/src/game/tutorial/tutorial_manager/tutorial_manager_type.gd index 76a1783..2672a06 100644 --- a/src/game/tutorial/tutorial_manager/tutorial_manager_type.gd +++ b/src/game/tutorial/tutorial_manager/tutorial_manager_type.gd @@ -7,8 +7,9 @@ const TUTORIAL_KEY_PREFIX := "game/tutorial/progress/" func activate(key: String) -> void: - ProjectSettings.set_setting(key, true) - Game.settings.write() + if not is_active(key): + ProjectSettings.set_setting(key, true) + Game.settings.write() func is_active(key: String) -> bool: @@ -45,6 +46,6 @@ func reset_tutorial() -> void: func disable_tutorial() -> void: - disable_all.emit() - # XXX does this ensure the call to write will happen after all signals resolve? - Game.settings.write.call_deferred() + for key: String in get_tutorial_keys(): + ProjectSettings.set_setting(key, true) + Game.settings.write() diff --git a/src/props/retinal_scanner/retinal_scanner.gd b/src/props/retinal_scanner/retinal_scanner.gd index 5e0f3ec..216fe58 100644 --- a/src/props/retinal_scanner/retinal_scanner.gd +++ b/src/props/retinal_scanner/retinal_scanner.gd @@ -56,5 +56,5 @@ func deserialize(state: Dictionary) -> void: func _process(_delta: float) -> void: - # TODO don't do this in _process + # TODO donAAaaaa't do this in _process interactive.enabled = enabled and _has_item()