From f24e5fd92909d7ae656ea371e68f6c2f13bd5ad3 Mon Sep 17 00:00:00 2001 From: Nordup Date: Wed, 13 Aug 2025 21:38:27 +0700 Subject: [PATCH] onboarding check shown --- app/scripts/ui/onboarding/onboarding.gd | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/app/scripts/ui/onboarding/onboarding.gd b/app/scripts/ui/onboarding/onboarding.gd index d9c235b..2ef9c33 100644 --- a/app/scripts/ui/onboarding/onboarding.gd +++ b/app/scripts/ui/onboarding/onboarding.gd @@ -1,5 +1,8 @@ extends Control +const SECTION: String = "onboarding" +const KEY: String = "shown" + const INITIAL_DELAY = 1.0 const SHOWN = Color(1, 1, 1, 1) const HIDDEN = Color(1, 1, 1, 0) @@ -9,6 +12,9 @@ const HIDDEN = Color(1, 1, 1, 0) @export var fade_in: float = 0.2 @export var fade_out: float = 0.2 +@export_group("Debug") +@export var show_always: bool + var tween: Tween @@ -19,6 +25,13 @@ func _ready() -> void: root.visible = false root.modulate = HIDDEN + try_show_onboarding() + + +func try_show_onboarding() -> void: + var is_shown = DataSaver.get_value(SECTION, KEY, false) + if is_shown and not show_always: return + await get_tree().create_timer(INITIAL_DELAY).timeout show_onboarding() @@ -39,6 +52,9 @@ func hide_onboarding() -> void: if is_instance_valid(tween): tween.stop() tween = create_tween() tween.tween_property(root, "modulate", HIDDEN, fade_out) - await tween.finished + await tween.finished root.visible = false + + DataSaver.set_value(SECTION, KEY, true) + DataSaver.save_data()