diff --git a/app/scripts/resources/ui_events.gd b/app/scripts/resources/ui_events.gd index 0d28b8b..edbe989 100644 --- a/app/scripts/resources/ui_events.gd +++ b/app/scripts/resources/ui_events.gd @@ -4,6 +4,7 @@ class_name UiEvents signal ui_mode_changed(mode: UiMode) signal ui_size_changed(size: Vector2) +signal onboarding_requested() signal onboarding_started() signal onboarding_finished() @@ -14,7 +15,8 @@ enum UiMode } var current_ui_size: Vector2 -var is_onboarding_started: bool = false +var is_onboarding_requested: bool +var is_onboarding_started: bool func ui_mode_changed_emit(mode: UiMode) -> void: @@ -26,11 +28,18 @@ func ui_size_changed_emit(size: Vector2) -> void: ui_size_changed.emit(size) +func onboarding_requested_emit() -> void: + is_onboarding_requested = true + onboarding_requested.emit() + + func onboarding_started_emit() -> void: + is_onboarding_requested = false is_onboarding_started = true onboarding_started.emit() func onboarding_finished_emit() -> void: + is_onboarding_requested = false is_onboarding_started = false onboarding_finished.emit() diff --git a/app/scripts/ui/menu/bookmark_ui.gd b/app/scripts/ui/menu/bookmark_ui.gd index db8aa3c..1e5f8f4 100644 --- a/app/scripts/ui/menu/bookmark_ui.gd +++ b/app/scripts/ui/menu/bookmark_ui.gd @@ -15,6 +15,7 @@ var is_special: bool func _ready() -> void: button.pressed.connect(on_pressed) + ui_events.onboarding_requested.connect(update_special_effects) ui_events.onboarding_started.connect(update_special_effects) ui_events.onboarding_finished.connect(update_special_effects) @@ -34,7 +35,7 @@ func fill(gate: Gate) -> void: func update_special_effects() -> void: - if ui_events.is_onboarding_started: + if ui_events.is_onboarding_started or ui_events.is_onboarding_requested: special_effect.visible = false jump_animation.stop_jump_animation() return diff --git a/app/scripts/ui/onboarding/carousel.gd b/app/scripts/ui/onboarding/carousel.gd index 755c018..d360df9 100644 --- a/app/scripts/ui/onboarding/carousel.gd +++ b/app/scripts/ui/onboarding/carousel.gd @@ -78,7 +78,7 @@ func refresh_mouse_position() -> void: Input.parse_input_event(event) -#region Dragging +# DRAGGING func set_buttons_disabled(disabled: bool) -> void: close.disabled = disabled @@ -163,5 +163,3 @@ func apply_drag(delta_x: float) -> void: new_x = drag_start_line_x + delta_from_start line.position.x = new_x - -#endregion Dragging diff --git a/app/scripts/ui/onboarding/onboarding.gd b/app/scripts/ui/onboarding/onboarding.gd index f1a1fac..68886ea 100644 --- a/app/scripts/ui/onboarding/onboarding.gd +++ b/app/scripts/ui/onboarding/onboarding.gd @@ -33,7 +33,7 @@ func try_show_onboarding() -> void: var is_shown = DataSaver.get_value(SECTION, KEY, false) if is_shown and not show_always: return - ui_events.onboarding_started_emit() + ui_events.onboarding_requested_emit() await get_tree().create_timer(INITIAL_DELAY).timeout show_onboarding() @@ -47,6 +47,8 @@ func show_onboarding() -> void: if is_instance_valid(tween): tween.stop() tween = create_tween() tween.tween_property(root, "modulate", SHOWN, fade_in) + + ui_events.onboarding_started_emit() func hide_onboarding() -> void: