diff options
author | metamuffin <metamuffin@disroot.org> | 2024-09-26 17:40:17 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-09-26 17:40:25 +0200 |
commit | 9f5c9f8019c56d6904dfff1d18eaed247db5eba6 (patch) | |
tree | 6d20146c446869b3c2a8b281398e1be4c3550f41 /client/menu | |
parent | ef931bc252c9c24c00f677d0e9eb642a1c4a1489 (diff) | |
download | hurrycurry-9f5c9f8019c56d6904dfff1d18eaed247db5eba6.tar hurrycurry-9f5c9f8019c56d6904dfff1d18eaed247db5eba6.tar.bz2 hurrycurry-9f5c9f8019c56d6904dfff1d18eaed247db5eba6.tar.zst |
prevent double fade by removing the fade queue; fix #145
Diffstat (limited to 'client/menu')
-rw-r--r-- | client/menu/scene_transition.gd | 19 |
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(): |