diff options
author | Henrique Alves <henriquelalves@gmail.com> | 2022-07-17 13:30:42 -0300 |
---|---|---|
committer | Henrique Alves <henriquelalves@gmail.com> | 2022-07-17 13:30:42 -0300 |
commit | 1e892024ff2f03baa3af31e1a732d6da222509c3 (patch) | |
tree | a6ac66e7fd7e822d24568cf26120300611577c1e | |
parent | d82ead0125167f3288804dc19cafd40c17bd05d8 (diff) | |
download | gamejam-gmtk-2022-1e892024ff2f03baa3af31e1a732d6da222509c3.tar.gz gamejam-gmtk-2022-1e892024ff2f03baa3af31e1a732d6da222509c3.tar.bz2 gamejam-gmtk-2022-1e892024ff2f03baa3af31e1a732d6da222509c3.zip |
skip onboarding option
-rw-r--r-- | Scenes/Dungeon.tscn | 56 | ||||
-rw-r--r-- | Scenes/UIController.gd | 45 |
2 files changed, 83 insertions, 18 deletions
diff --git a/Scenes/Dungeon.tscn b/Scenes/Dungeon.tscn index 07a2de0..25f885a 100644 --- a/Scenes/Dungeon.tscn +++ b/Scenes/Dungeon.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=34 format=2] +[gd_scene load_steps=37 format=2] [ext_resource path="res://Scenes/Dungeon.gd" type="Script" id=1] [ext_resource path="res://Scenes/CameraControl.gd" type="Script" id=2] @@ -292,6 +292,43 @@ tracks/0/keys = { "values": [ Color( 1, 1, 1, 0 ) ] } +[sub_resource type="DynamicFont" id=29] +size = 24 +outline_size = 2 +outline_color = Color( 0, 0, 0, 1 ) +font_data = ExtResource( 5 ) + +[sub_resource type="Animation" id=27] +resource_name = "FadeIn" +length = 0.4 +tracks/0/type = "value" +tracks/0/path = NodePath(".:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.4 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 1 ) ] +} + +[sub_resource type="Animation" id=28] +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath(".:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Color( 1, 1, 1, 0 ) ] +} + [sub_resource type="Animation" id=9] resource_name = "FadeIn" length = 0.4 @@ -679,6 +716,23 @@ valign = 1 anims/FadeIn = SubResource( 25 ) anims/RESET = SubResource( 26 ) +[node name="SkipLabel" type="Label" parent="UIController/OnboardingOverlay"] +modulate = Color( 1, 1, 1, 0 ) +anchor_top = 1.0 +anchor_bottom = 1.0 +margin_left = 15.0 +margin_top = -96.0 +margin_right = 1067.0 +margin_bottom = -15.0 +custom_fonts/font = SubResource( 29 ) +text = "Press ESC to skip tutorial" +valign = 2 +autowrap = true + +[node name="AnimationPlayer" type="AnimationPlayer" parent="UIController/OnboardingOverlay/SkipLabel"] +anims/FadeIn = SubResource( 27 ) +anims/RESET = SubResource( 28 ) + [node name="AnimationPlayer" type="AnimationPlayer" parent="UIController/OnboardingOverlay"] anims/FadeIn = SubResource( 9 ) anims/RESET = SubResource( 10 ) diff --git a/Scenes/UIController.gd b/Scenes/UIController.gd index df18866..03c2556 100644 --- a/Scenes/UIController.gd +++ b/Scenes/UIController.gd @@ -6,6 +6,8 @@ onready var particles = $Particles onready var activated_crystals +onready var skip_all = false + signal _skip_step func _ready(): @@ -42,6 +44,7 @@ func on_onboarding(): $OnboardingOverlay.show() $OnboardingOverlay/AnimationPlayer.play("FadeIn") yield($OnboardingOverlay/AnimationPlayer,"animation_finished") + show_skip() yield(onboarding_step(1), "completed") yield(onboarding_step(2), "completed") yield(onboarding_step(3), "completed") @@ -55,24 +58,32 @@ func on_onboarding(): func _input(event): if event is InputEventKey and event.is_pressed(): + if event.scancode == KEY_ESCAPE: + skip_all = true emit_signal("_skip_step") func onboarding_step(i): - var intro = get_node("OnboardingOverlay/Intro%d" % i) - intro.show() - var intro_player = intro.get_node("AnimationPlayer") - intro_player.play("FadeIn") - yield(intro_player, "animation_finished") - - var timer = get_tree().create_timer(4) - timer.connect("timeout", self, "emit_signal", ["_skip_step"]) - - yield(self, "_skip_step") - - if timer != null: - timer.disconnect("timeout", self, "emit_signal") - - intro_player.play_backwards("FadeIn") - yield(intro_player, "animation_finished") - intro.hide() + if not skip_all: + var intro = get_node("OnboardingOverlay/Intro%d" % i) + intro.show() + var intro_player = intro.get_node("AnimationPlayer") + intro_player.play("FadeIn") + yield(intro_player, "animation_finished") + + var timer = get_tree().create_timer(4) + timer.connect("timeout", self, "emit_signal", ["_skip_step"]) + + yield(self, "_skip_step") + + if timer != null: + timer.disconnect("timeout", self, "emit_signal") + + intro_player.play_backwards("FadeIn") + yield(intro_player, "animation_finished") + intro.hide() + yield(get_tree(),"idle_frame") + +func show_skip(): +# yield(get_tree().create_timer(1),"timeout") + $OnboardingOverlay/SkipLabel/AnimationPlayer.play("FadeIn") |