aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-09-26 17:40:17 +0200
committermetamuffin <metamuffin@disroot.org>2024-09-26 17:40:25 +0200
commit9f5c9f8019c56d6904dfff1d18eaed247db5eba6 (patch)
tree6d20146c446869b3c2a8b281398e1be4c3550f41
parentef931bc252c9c24c00f677d0e9eb642a1c4a1489 (diff)
downloadhurrycurry-9f5c9f8019c56d6904dfff1d18eaed247db5eba6.tar
hurrycurry-9f5c9f8019c56d6904dfff1d18eaed247db5eba6.tar.bz2
hurrycurry-9f5c9f8019c56d6904dfff1d18eaed247db5eba6.tar.zst
prevent double fade by removing the fade queue; fix #145
-rw-r--r--client/menu/scene_transition.gd19
1 files changed, 9 insertions, 10 deletions
diff --git a/client/menu/scene_transition.gd b/client/menu/scene_transition.gd
index b30897aa..a10fccfd 100644
--- a/client/menu/scene_transition.gd
+++ b/client/menu/scene_transition.gd
@@ -19,36 +19,35 @@ extends Control
@onready var anim: AnimationPlayer = $AnimationPlayer
-var black = true
+var s_current = false
+var s_target = false
var fading = false
-var queue = []
-
func _ready():
$ColorRect.visible = true
func next():
- if fading: return
- if queue.is_empty(): return
+ while fading: await anim.animation_finished
+ if s_target == s_current: return
fading = true
- if queue.pop_front():
+ if s_target:
anim.play_backwards("fade")
await anim.animation_finished
self.mouse_filter = Control.MOUSE_FILTER_IGNORE
- black = false
+ s_current = true
else:
self.mouse_filter = Control.MOUSE_FILTER_STOP
anim.play("fade")
await anim.animation_finished
- black = false
+ s_current = false
fading = false
await next()
func fade_in():
- queue.push_back(true)
+ s_target = true
await next()
func fade_out():
- queue.push_back(false)
+ s_target = false
await next()
func _exit_tree():