aboutsummaryrefslogtreecommitdiff
path: root/client/menu
diff options
context:
space:
mode:
Diffstat (limited to 'client/menu')
-rw-r--r--client/menu/menu_manager.tscn1
-rw-r--r--client/menu/scene_transition.gd23
2 files changed, 16 insertions, 8 deletions
diff --git a/client/menu/menu_manager.tscn b/client/menu/menu_manager.tscn
index 18e13282..56cc6442 100644
--- a/client/menu/menu_manager.tscn
+++ b/client/menu/menu_manager.tscn
@@ -32,4 +32,3 @@ layout_mode = 1
[node name="SceneTransition" parent="." instance=ExtResource("6_p4u45")]
visible = false
layout_mode = 1
-auto_fade_in = false
diff --git a/client/menu/scene_transition.gd b/client/menu/scene_transition.gd
index 30c7e1df..66b6c4e4 100644
--- a/client/menu/scene_transition.gd
+++ b/client/menu/scene_transition.gd
@@ -16,20 +16,29 @@
class_name SceneTransition
extends ColorRect
-@onready var anim = $animation
+@onready var anim: AnimationPlayer = $animation
@export var ingame = false
@export var auto_fade_in := true
+var black = true
+var fading = false
+
func _ready():
- if auto_fade_in:
- fade_in()
- else:
- visible = false
+ visible = true
+ if auto_fade_in: fade_in()
func fade_in():
- visible = true
- anim.play("fade_in")
+ if black: anim.play("fade_in"); fading = true
+ black = false
+ if fading: await anim.animation_finished
+ fading = false
+
+func fade_out():
+ if not black: anim.play("fade_out"); fading = true
+ black = true
+ if fading: await anim.animation_finished
+ fading = false
func transition_to(path: String):
await out()