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()