summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-09-19 18:16:46 +0200
committermetamuffin <metamuffin@disroot.org>2024-09-19 18:16:46 +0200
commit5b4ae38227ab59f1c35008b09604f25d5386d05a (patch)
tree059bc392dde37b62bed9b70413467b527a41ddcc
parentc94ece5f5071d4d9fec46daa59db008aa3f6cf32 (diff)
downloadhurrycurry-5b4ae38227ab59f1c35008b09604f25d5386d05a.tar
hurrycurry-5b4ae38227ab59f1c35008b09604f25d5386d05a.tar.bz2
hurrycurry-5b4ae38227ab59f1c35008b09604f25d5386d05a.tar.zst
fix scene trans getting stuck in black
-rw-r--r--client/menu/scene_transition.gd36
1 files changed, 22 insertions, 14 deletions
diff --git a/client/menu/scene_transition.gd b/client/menu/scene_transition.gd
index 9b6b1cac..b30897aa 100644
--- a/client/menu/scene_transition.gd
+++ b/client/menu/scene_transition.gd
@@ -22,26 +22,34 @@ extends Control
var black = true
var fading = false
+var queue = []
+
func _ready():
$ColorRect.visible = true
-func fade_in():
- if fading: await anim.animation_finished
- if not black: push_error("already faded in"); return
+func next():
+ if fading: return
+ if queue.is_empty(): return
fading = true
- anim.play_backwards("fade")
- await anim.animation_finished
- self.mouse_filter = Control.MOUSE_FILTER_IGNORE
- fading = false; black = false
+ if queue.pop_front():
+ anim.play_backwards("fade")
+ await anim.animation_finished
+ self.mouse_filter = Control.MOUSE_FILTER_IGNORE
+ black = false
+ else:
+ self.mouse_filter = Control.MOUSE_FILTER_STOP
+ anim.play("fade")
+ await anim.animation_finished
+ black = false
+ fading = false
+ await next()
+func fade_in():
+ queue.push_back(true)
+ await next()
func fade_out():
- if fading: await anim.animation_finished
- if black: push_error("already faded out"); return
- fading = true
- self.mouse_filter = Control.MOUSE_FILTER_STOP
- anim.play("fade")
- await anim.animation_finished
- fading = false; black = true
+ queue.push_back(false)
+ await next()
func _exit_tree():
if fading: push_error("SceneTransition destroyed while fading")